2019-1-11
unique的使用:
1. unique是把相邻的重复元素放到最后面。所以在对无序数列使用之前,需要用sort先排序。
2.unique的返回值是不重复区的的最后一个元素加一的地址。
sort(V.begin(), V.end() );
vector<int>::iterator end_unique = unique(V.begin(), V.end() );
V.erase(end_unique, V.end() );
组合:
给n个数,计算能被他们组合的所有数。
找出一定范围内(0~MAX内)的所有能用它们组合的数。
两个循环,volume数组是0或者1。
exm:3 6 10
顺序:
3 6 9 12 ……
6 9 12 15 ……
10 13 16 20 23 26 30 ……
int volume[MAX]; volume[0] = 1; for(int i = 0; i < n; i++) for(int j = volume[i]; j <= MAX; j++) { if(volume[j - volume[i]] == 1) volume[j] = 1; }