随笔分类 - 数据结构
Codeforces 877E 线段树维护子树
摘要:``` / codeforces 877E 线段树维护子树 Author: lcy Time: 2017 11 2 一棵树,每个节点上有灯,每次可以操作 一颗子树,使其上面亮的灯熄灭, 灭的灯变亮。此外有一个查询操作, 返回每个子树中亮着的灯的个数。 先序遍历一遍树,重新标号,然后用线段树 维护每颗
阅读全文
HDU1811 并查集 拓扑排序
摘要:``` /* hdu1811 并查集 拓扑排序 Author:lcy Time:2017-10-19 给出一组大于小于等于关系,判断其是否合法、矛盾或信息不足 如果只有大小关系,很容易想到拓扑排序来处理。 现在多了等于关系,那么可以先用并查集将所有相等的数合并, 再用拓扑排序即可。 注意如果矛盾和信息不足同时出现,输出矛盾。在这里WA了好久。 */ #include #define ull un...
阅读全文
Codeforces 869e 二维树状数组维护
摘要:``` /* codeforces 869e 二维树状数组维护 Author:lcy Time:2017-10-18 在一个平面上可以有两种操作,添加矩形围墙以及删除矩形围墙, 题目保证围墙之前不会相交。 同时会有多组询问,给出两个点,判断能否相互抵达 怎么把围墙表示出来? 给出左上角的点(x1,y1),右下角的点(x2,y2),我们只需要 在以(x1,y1),(x2+1,y2+1)为对角的矩形...
阅读全文
HDU5536 Trie树求异或最大
摘要:``` /* hdu5536 Trie树求异或最大 Author:lcy Time:2017-10-18 给出n个数,求max{(si+sj)^sk},其中i,j,k不相等 把n个树的二进制加入Trie树(先加入高位,满足贪心性质),然后枚举si+sj, 在Trie树中尽量寻找每一位都与si+sj不同的值 注意,如果把si+sj加入Trie树,再去枚举sk,会超时。 */ #include #...
阅读全文
POJ3481 splay
摘要:``` /* poj3481 splay Author:lcy Time:2017-10-11 裸题 */ #include #include #include #include #include #include using namespace std; #define ll long long #define fr(i,a,b) for(int i=a;i=b;i--) #defi...
阅读全文
BZOJ1588 splay
摘要:``` / bzoj1588 splay Author:lcy Time:2017 10 11 264ms...好慢 splay裸题,每次把新值加入树中时,获取他的排名,然后 找到排前一位和后一位的值分别和他做差,取最小值后加到答案上 每个节点用一个cnt记录相同元素的个数。 / include u
阅读全文
浙公网安备 33010602011771号