
树链剖分
_zidaoziyan
这个作者很懒,什么都没留下…
展开
-
HDU5274.Dylans loves tree
/* 题目里有一个很神奇的性质:路径上最多只有一个数出现奇数次。 这应该马上想到异或。因为异或两次和没异或是等价的。此外异或满足区间减性质。 因为有修改,我们很自然地想到用数据结构维护。 最无脑的就是直接上树链剖分或是Splay维护区间xor值即可。 仔细想一想,发现可以利用LCA消去“树上路径”,转化为根到x路径上求xor值。 我们可以很经典地直接使用线段树或树状数组维护dfs序。原创 2015-08-10 16:50:16 · 440 阅读 · 0 评论 -
bzoj4034: [HAOI2015]T2
4034: [HAOI2015]T2Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 921 Solved: 313[Submit][Status][Discuss]Description 有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个操作,分为三种:操作 1 :把某个节点 x 的点权增加 a原创 2015-10-08 19:01:14 · 391 阅读 · 0 评论 -
5029 Relief grain 树链剖分+离线标记法
Relief grainTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 100000/100000 K (Java/Others)Total Submission(s): 1773 Accepted Submission(s): 438Problem DescriptionThe soil is c转载 2015-10-09 12:18:24 · 493 阅读 · 0 评论 -
hdu5242Game(好题)
GameTime Limit: 3000/1500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 821 Accepted Submission(s): 259Problem DescriptionIt is well known that Kei原创 2015-10-09 15:27:01 · 384 阅读 · 0 评论 -
Codeforces Round #232 (Div. 1) C. On Changing Tree(树上修改一点x-di*k))
题意: 给出一棵以1为根的树,形式是从节点2开始给出每个节点的父亲节点; 然后是m次操作,操作分为两种,1 v,x,k,表示在以v为根的字数上添加, 添加的法则是看这个节点与v节点的距离为i的话,加上x-i*k; 2 v查询节点v的值。思路一: 树链剖分,每个点保存两个值,一个是x+dep[i]*k,另外一个是k 查询的时候相当于它到根的链上(x+dep[i]k)的和-原创 2016-10-10 19:13:48 · 503 阅读 · 0 评论