题目描述异或是一种神奇的运算,大部分人把它总结成不进位加法. 在生活中…xor运算也很常见。比如,对于一个问题的回答,是为1,否为0.那么: (A是否是男生 )xor( B是否是男生)=A和B是否能够成为情侣 好了,现在我们来制造和处理一些复杂的情况。比如我们将给出一颗树,它很高兴自己有N个结点。树 ...
分类:
其他好文 时间:
2018-03-25 18:11:58
阅读次数:
146
```cpp include include define MAX 500005 int d[MAX],fa[MAX],size[MAX],top[MAX],son[MAX]; int N,M,S,tot=0; int head[MAX]; struct edge{ int v,next; }G[M ...
分类:
其他好文 时间:
2018-03-24 20:39:03
阅读次数:
133
LCT: 类似于树链剖分吧~~我是这么认为的~~ 要学会LCT首先你要先学会Splay及其 区间翻转操作 基础 辅助树: ①Splay以深度为为关键字,维护每条链的信息( 每条链一个splay ) ②其根的父亲指向这条链的链顶的父亲 ③记住每次splay时要先 从上往下 下放lazy 操作 判断是否 ...
分类:
其他好文 时间:
2018-03-24 16:25:04
阅读次数:
132
"题目链接" cpp //17440kb 3760ms //维护区间颜色数、最左、最右颜色即可。 // (L[]==R[])要加括号!woc才发现。 include include include // define gc() getchar() define gc() (SS==TT&&(TT=( ...
分类:
其他好文 时间:
2018-03-24 14:27:49
阅读次数:
163
Description 有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个操作,分为三种:操作 1 :把某个节点 x 的点权增加 a 。操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。操作 3 :询问某个节点 x 到根的路径中所有点的点权和。Input 第一行包含 ...
分类:
其他好文 时间:
2018-03-23 13:03:35
阅读次数:
156
题目传送门 树链剖分,计算机术语,指一种对树进行划分的算法,它先通过轻重边剖分将树分为多条链,保证每个点属于且只属于一条链,然后再通过数据结构(树状数组、SBT、SPLAY、线段树等)来维护每一条链。 以下是几种概念: 常见的路径剖分的方法是轻重树链剖分(启发式剖分) 将树中的边分为:轻边和重边 ? ...
分类:
其他好文 时间:
2018-03-19 19:04:30
阅读次数:
157
很神奇的方法 感觉是有生之年都想不到正解的这种 考虑对i 到根的节点权值 + 1,则从根到z的路径和就是lca(i,z)的深度 所以依次把0 ~ n - 1的点权值 + 1 对于询问[l, r] 这个区间关于z 的深度和,就用(1, r) - (1, l - 1)的值表示 详见黄学长的博客啦 htt ...
分类:
其他好文 时间:
2018-03-19 00:27:59
阅读次数:
147
LCT,是连猫树(link-cat-tree)的缩写。它是树链剖分和splay的结合版本。 由于有很多关于LCT的文章以及这并不是对劲的文章,并不对劲的人并不打算讲得太详细。 推荐:详细的LCT-> 想必大家都知道splay+树剖=LCT splay虽然常数较大,但是它好写好调(大部分操作都可以把左 ...
分类:
其他好文 时间:
2018-03-12 21:21:04
阅读次数:
173
陶陶的难题II 时间限制:40s 空间限制:128MB 陶陶的难题II 时间限制:40s 空间限制:128MB 陶陶的难题II 时间限制:40s 空间限制:128MB 题目描述 输入格式 第一行包含一个正整数N,表示树中结点的个数。 第二行包含N个正实数,第i个数表示xi (1<=xi<=10^5) ...
分类:
其他好文 时间:
2018-03-12 17:01:51
阅读次数:
127