1.vc 6.0里的string没有clear()这个成员函数。
2.vector<char> S cin>>S;S都没初始化,想当然的错误。
3.unique()去重函数,是对有序结构用的,且返回重复部分开头元素的迭代器。erase.(unique(V.begin(),V.end()),V.end());即对V结构去重
4.做题时可以用 #define rep(i,n,t) for(int i=(n);i<(t);i++) 来代替简单for循环,注意#define里设计到替换的数的地方要加括号。同理还有memset和push_back函数
5.简单的交换两个数可以用 #define Swap(a,b) {a=a^b,b=a^b,a=a^b} 来完成^为取异或。
异或运算符两侧的数,相同为0不同为1,异或有交换律,分配律和结合律;对于任何数x,都有x^x=0,x^0=x;
则可以翻译为a=a^b b=a^b^b即b=a (后边的b^b为0且a^0==a) a=a^b^a=b(a换成了a^b, b换成了a,两个a结合为0,b^0==b)