摘要:
set支持二分查找,毕竟它本身就是一个平衡树(似乎是传说中的红黑树?)。同时erase操作也很方便,演示: set<int>s; for(int i=1;i<=5;i++)s.insert(i); //data in set:1 2 3 4 5 set<int>::iterator it=s.low 阅读全文
摘要:
如题,放个枚举子集的板子,可以把 $O(4^N)$ 砍成 $O(3^N)$。 for(int j=i;j;j=(j-1)&i); 阅读全文
摘要:
link 给定一些串,每个串可以进行重组,最小化这些串最后组成的Trie的结点数。 数据范围指向状压DP。很明显最后的答案和每个串一开始的字符顺序无关,于是可以记录每个串中每个字符的数量。然后发现在两个串合并的时候,为了使得树上结点最少,考虑贪心地把相同的字符排到前面去,于是最后的答案是 $len_ 阅读全文