7-4-1 set 集合的「交」與「並」
給出兩個由數字組成的集合,請求這兩個集合的「交」和「並」。輸入格式:
給乙個n,m 代表兩個數列的大小 (0 <= n,m <=2e5)輸出格式:如果n>0,則接下來一行, n個數空格隔開,代表第乙個集合中的數。
如果m>0,則接下來一行, m個數空格隔開,代表第二個集合中的數。
-1e9<=ai,bi<=1e9
第一行首先輸出兩個數列交的集合中元素個數,如果元素個數大於0,則緊接著在這行輸出「交集」的元素,按數值大小公升序排列(本行輸出多個資料時,用空格隔開,如果只有乙個元素個數,行末無空格)輸入樣例1:第二行首先輸出兩個數列並的集合中元素個數,如果元素個數大於0,則緊接著在這行輸出「並集」的元素,按數值大小公升序排列(本行輸出多個資料時,用空格隔開,如果只有乙個元素個數,行末無空格)
131
134
輸出樣例1:
113
134
輸入樣例2:
131
234
輸出樣例2:
041
234
**如下:
用的set【集合】內部自動有序且不含重複元素的容器
用的set的函式:求集合的交集set_intersection
;求集合的並集set_union
。這些函式的五個引數是:集合a的begin,end;集合b的begin,end和back_inserter()
函式
向某大佬的題解學習的?集合運算
#include
using
namespace std;
void
print
(vector<
int>
&v)}
intmain()
while
(m--
)set_intersection
(a.begin()
,a.end()
,b.begin()
,b.end()
,back_inserter
(v1));
print
(v1)
; cout << endl;
set_union
(a.begin()
,a.end()
,b.begin()
,b.end()
,back_inserter
(v2));
print
(v2)
;return0;
}
總結:
1.set求集合差集的函式set_difference
astar 集合的交與並
時間限制 1000ms 記憶體限制 65536kb 描述 對於乙個閉區間集合 k 1,ai aj 我們定義其權值 w a1 a2 ak a1 a2 ak 其中 x 表示x區間的長度 如果x為空集 x 0。當然,如果這些閉區間沒有交集則權值為0。給定n個各不相同的閉區間,請你從中找出若干個 至少2個 ...
計算集合的並 set
給你兩個集合,計算其並集,即 注 中不允許出現重複元素,但是 與之間可能存在相同元素。輸入格式 輸入資料分為三行,第一行有兩個數字n,m 0 n,m 10000 分別表示集合 a 和集合 b 的元素個數。後兩行分別表示集合 a 和集合 b。每個元素為不超出 int 範圍的整數,每個元素之間用乙個空格...
set集合的排序
在hibernate的onetomany的實體關聯的時候,one端的set是無序的,可是需要按照順序來搞的話就比較麻煩了。下面給出乙個例子。setdiarypictureset growthdiary.getdiarypictures listdiarypicturelist new arrayli...