Python中对一个序列执行乘法,试图倍增序列的长度,但是初学者可能会不小心陷入一个难以察觉的bug中。...
分类:
编程语言 时间:
2014-11-27 20:33:25
阅读次数:
184
题目大意:给定一个n个点m条边的无向连通图,k次询问两点之间所有路径中最长边的最小值
Kruskal+倍增LCA做法见http://blog.csdn.net/popoqqq/article/details/39755703
LCT做法见http://blog.csdn.net/popoqqq/article/details/39929277
Kruskal重构树真是强大……一不小心手滑就R...
分类:
Web程序 时间:
2014-11-23 13:13:26
阅读次数:
198
题目大意:给定一个字符串,求将这个字符串首尾相接后以每个字符开头的字符串排序后最后一列的字符串
传说中的后缀数组0.0 昨晚看了一晚上DC3没看懂,于是写了倍增0.0 罗先生的25行代码实在是抽象QAQ 蒟蒻表示理解不能QAQ 于是自己写了个比较清晰的版本QAQ
首先这题是环 于是我们把字符串的前n-1个字符添加到这个字符串的尾端 然后就是后缀数组的事情了
求完这个之后按照后缀数组的顺序枚举...
分类:
编程语言 时间:
2014-11-11 16:48:32
阅读次数:
191
题目描述DescriptionA 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。输入描述Input Description第一行有两个用一个空格隔...
分类:
其他好文 时间:
2014-11-05 17:05:11
阅读次数:
2054
题目大意:给出一棵树,在上满找三个点,问那个点到这三个点的距离和最短。
思路:可以证明,这个店必然是这三个点之间两个的LCA,然后枚举就可以了。
CODE:
#include
#include
#include
#include
#define MAX 1000010
#define INF 0x3f3f3f3f
using namespace std;
int...
分类:
其他好文 时间:
2014-11-03 17:48:16
阅读次数:
246
题目大意:给定一棵树,多次询问到三个点距离之和最小的点和距离
首先易知到两个点距离之和最小的点一定在两点间的路径上
于是到三个点距离之和最小的点一定在两两之间路径的交点上
然后很容易就会知道这个交点一定是其中两个点的LCA(其实是我不会证)
此外为什么不会是三个点共同的LCA呢?因为三个点共同的LCA一定是至少一对点的LCA 证明略(其实我也不会证)
然后就是倍增LCA的问题了 我的倍增...
分类:
其他好文 时间:
2014-11-03 16:28:39
阅读次数:
219
(YYL: LCA 有三种求法, 你们都知道么?)(众神犇: 这哪里来的傻叉...)1. 树上倍增对于求 LCA, 最朴素的方法是"让两个点一起往上爬, 直到相遇", "如果一开始不在同一深度, 先爬到同一深度". 树上倍增求 LCA 的方法同样基于这个道理, 只不过利用了倍增思想从而加速了"向上爬...
分类:
其他好文 时间:
2014-11-03 16:09:00
阅读次数:
1345
0.1就是0.1……弱的不行……只是暂时存一下为以后高大上的正解作铺垫Q:LCA都不会你学什么OI?A:我学不了OI了我要滚粗……适当解释:第一行输入点数n以及两个要查询的点q1,q2第二行输入每个点父亲father[i]一行输出ans==最近公共祖先……不会倍增……写了个看起来是正解其实是暴力的东...
分类:
其他好文 时间:
2014-11-01 00:56:44
阅读次数:
268
题目大意:给定一棵森林,每个点有权值,提供两种操作:
1.查询两点间路径上第k小的权值
2.将两个点之间连一条边 保证连接后仍是一座森林
可持久化线段树部分同Count On A Tree 只是这道题加了个连接操作
对于连接操作我们要用到启发式合并 就是把小的那棵树暴力重建 很简单的一个操作但是可以证明是均摊O(nlogn)的
大小我用了并查集 其实记录根就可以了
此外本题的多组数据是...
分类:
其他好文 时间:
2014-10-20 13:36:39
阅读次数:
291