倍增法加了边的权值,bfs的时候顺便把每个点深度求出来即可 ...
分类:
其他好文 时间:
2018-11-25 14:40:30
阅读次数:
191
BZO2754: [SCOI2012]喵星球上的点名 "题目链接" 分析: 把姓和名中间用一个分隔符分开,和询问串一起建立后缀数组。 后缀数组上每个位置存对应串的标号。对于一个询问串(T),找到他对应的位置。 考虑和他的lcp =len(T)的位置都是合法的。左右二分/倍增提取出这样的区间。 那么第 ...
分类:
编程语言 时间:
2018-11-25 13:27:36
阅读次数:
167
回文自动机板子 或者是SAM+manacher+倍增,就是manacher求本质不同回文串(让f++的串),然后在SAM倍增查询对应点出现次数 cpp include include include using namespace std; const int N=300005; int n,ch[ ...
st表是解决区间RMQ(区间最值问题)的一类算法,时间复杂度为O(nlogn)的预处理和O(1)的查询,其主要运用了类似倍增的思想... 总体来说,st表的用处还是挺大的,代码也比较短,容易记... st表 若现在给定一个长度为n的序列A,每次给定两个数l,r,求出A[l]~A[r]中的最大值... ...
分类:
编程语言 时间:
2018-11-23 23:52:58
阅读次数:
653
由于VpayCoin是去中心化的数字资产,所以Vpay钱包里面的规则跟比特币、莱特币、瑞波币等去中心化货币的规则一样,都是公开透明,公平公正的,让玩家对区块链技术的信任取代了人为的控制。
分类:
移动开发 时间:
2018-11-23 16:13:54
阅读次数:
196
反正肯定要建虚树,考虑建完之后怎么做 先随便dp一下算出来距离某点最近的询问点mi[x](因为有的虚树上的点它不是询问点嘛) 那我们对于某条链x到fa[x]上的非虚树上的点(包括他们的非虚树上的孩子),要么把它分给mi[x],要么分给mi[fa[x]] 我找到这个中间点以后,在原树上倍增跳过去,算他 ...
分类:
其他好文 时间:
2018-11-21 22:25:54
阅读次数:
258
题目大意:给定一个 N 个顶点的邻接矩阵、起点顶点、终点顶点,求至少经过 K 条边(边可以重复)从起点到终点的最短路长度,若不能到达,输出 1。 题解:至少经过 K 条边和恰好经过 K 条边的初始条件不同,因为至少经过 1 条边的任意两点最短路就是通过 Floyd 算法算出的矩阵,而恰好经过 K 条 ...
分类:
其他好文 时间:
2018-11-20 00:09:50
阅读次数:
157
一看到这道题,就想到了某次小生成树 一般对于无向图且不是树的情况,求路径经过边的最小(最大)值且不考虑路径总长,通常考虑最小(最大)生成树 由于求尽量通过边,最大生成树即可 很愉快的,问题转换成了如何求树上两点间的边权最小值。 对于树上路径问题,我们通常考虑倍增或树剖 ~~(但我太菜了,不会树剖)所 ...
分类:
其他好文 时间:
2018-11-15 21:13:40
阅读次数:
143
思路:求树上两点的距离,显然是dep[u] + dep[v] - 2 * dep[lca],用树上倍增去写。 参考:树上倍增的写法和应用(详细讲解,新手秒懂) 代码: ...
分类:
其他好文 时间:
2018-11-10 00:16:08
阅读次数:
229