莫队算法,先处理dfs序,然后将询问进行一下处理,假设询问x,y两点,x的的dfs序区间是[xl,xr],y的dfs序是[yl,yr],那么这两个区间如果包含,那么询问区间[min(xl,yl),max(xl,yl)],否则询问区间[min(xr,yr),max(xl,yl)]。对于算法当前处理的一 ...
分类:
移动开发 时间:
2016-04-18 16:55:32
阅读次数:
241
求出这棵树的dfs序,对于一条链$u-v$,假设$st[u]\leq st[v]$,那么一条链不经过点$x$当且仅当它满足下面任意一个条件: 1.$st[v]<st[x]$ 2.$st[u]>en[x]$ 3.$st[x]<st[lca(u,v)]\leq en[x]$ 4.$st[u]<st[x] ...
分类:
其他好文 时间:
2016-04-18 06:26:40
阅读次数:
262
题目:http://www.tsinsen.com/A1505 A1505. 树(张闻涛) 时间限制:1.0s 内存限制:512.0MB 总提交次数:196 AC次数:65 平均分:58.62 时间限制:1.0s 内存限制:512.0MB 总提交次数:196 AC次数:65 平均分:58.62 将本 ...
分类:
其他好文 时间:
2016-04-11 00:14:31
阅读次数:
285
学习了树上莫队,树分块后对讯问的$dfs序$排序,然后就可以滑动树链处理答案了。 关于树链的滑动,只需要特殊处理一下$LCA$就行了。 在这里一条树链保留下来给后面的链来转移的$now$的为这条树链上所有点除去$LCA$的颜色种数。因为如果要考虑$LCA$情况就太多了,不如单独考虑$LCA$。 转移 ...
分类:
移动开发 时间:
2016-04-07 22:09:21
阅读次数:
369
2434: [Noi2011]阿狸的打字机 Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是这样工作的:l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个 ...
分类:
编程语言 时间:
2016-04-04 16:32:00
阅读次数:
359
题目链接 树剖+线段树 将区间修改转化为单点修改,因为如果按DFS序进行修改,那么一定会对DFS序更大的点造成影响 ...
分类:
其他好文 时间:
2016-04-03 17:26:36
阅读次数:
238
计算一个树的子树节点权值和,节点权值可以单个修改。 利用dfs序把一颗树投影到数组里,维护dfs序和子节点个数,然后用树状数组即可。
分类:
移动开发 时间:
2016-03-15 23:23:53
阅读次数:
230
D. Water Tree Mad scientist Mike has constructed a rooted tree, which consists of n vertices. Each vertex is a reservoir which can be either empty or
分类:
其他好文 时间:
2016-03-11 22:12:47
阅读次数:
259
Description 【题目描述】同3545 Input 第一行三个数N,M,Q。 第二行N个数,第i个数为h_i 接下来M行,每行3个数a b c,表示从a到b有一条困难值为c的双向路径。 接下来Q行,每行三个数v x k,表示一组询问。v=v xor lastans,x=x xor lasta
分类:
其他好文 时间:
2016-03-06 12:57:48
阅读次数:
247
题目链接:点击打开链接
题意:给你一棵树, 根结点为1, q组操作, 每组操作有两种, 一种是对一个结点的所有子树结点的值全部+1, 另一种是查询一个结点的子树结点上值%m的余数为素数的个数。
思路:对于第一个操作, 我们可以想到用dfs序给树重新标号, 使得一个结点的子树结点为相邻的一条线段, 这样,就可以很容易的用线段树进行处理了。 对于第二个操作, 为了维护一个区间内的值, 我们可以用...
分类:
其他好文 时间:
2016-03-02 09:39:17
阅读次数:
244