
树状数组
616156
赛高______↑
展开
-
Codeforces483Div1 983E NN country
题意:给出一颗N个点的树,树上有M条链,需要满足Q次询问: 每次询问给出两个点(u,v)(u,v)(u,v),求从u出发,只通过链来行走(即当前位于某条链的某一个点上,就可以移动到这条链的任意一个点上,这定义为一步),求到达v点的最小步数。链可能会重复覆盖某些点,也可能不连通,若无法到达输出-1N,Q,M≤105N,Q,M≤105N,Q,M\leq 10^5分析:首先,有...原创 2018-05-26 23:02:49 · 524 阅读 · 0 评论 -
【图论】 【树状数组】Traffic Network in Numazu
分析:用LCT水过去当然也是可以的啦。。。。 不过这里讲一下不用LCT的方法。。(当然也不是树链剖分)这个图肯定是一颗基环外向树,先忽略环,剩下的一定是一个森林。对于每个森林,其实可以用dfn+树状数组维护没两点之间的距离: 按照dfn,在每个位置存储它到达当前根节点的距离,然后询问在同一颗树中的点时,可以用lca求出两点最近公共祖先,两点距离就是dist(u)+dist(v)−2...原创 2018-08-14 10:47:19 · 205 阅读 · 0 评论 -
【KMP】BZOJ2384[Ceoi2011]Match
分析:首先,可以转化判定条件:如果在一段数中,每一个数左侧,比它小的数和给出的目标序列相同。那么就能认为这段数的大小关系合法。然后就可以魔改KMP来做了。所谓魔改,就是之前本来是判定两个字符是否相同,而这里变为判断当前已加入的左侧的数中,比它小的数是否合法。但是为了高效修改,需要借助树状数组优化修改。其余部分和KMP较为类似。#include<cstdio>#includ...原创 2018-10-22 20:39:02 · 623 阅读 · 0 评论