倍增算法
文章平均质量分 54
WorldWide_D
这个作者很懒,什么都没留下…
展开
-
Stree
Description给出n个点,m条有权边,现对于每一条边,你需要回答出包含这条边的最小生成树的总边权值。Input第一行两个数n,m 接下来m行i,j,k,表示i与j间有一条权值为k的边Outputm行答案Sample Input5 7 1 2 3 1 3 1 1 4 5 2 3 2 2 5 3 3 4 2 4 5 4Sample Output9 8 11 8 8 8原创 2016-07-08 18:36:35 · 378 阅读 · 0 评论 -
[51nod1743]雪之国度
题目大意给你n个点m条边的无向图,每个点有一个权值w,每条边的权值就是它连接两个点的权值差。有q个询问,给出两个点u,v,要从u到v找两条没有相同边的路径,使得两条路径上所有边权最大值最小。如果不足两条路径则输出”infinitely”。3<=N<=100000, 3<=M<=500000, 1<=Q<=100000, 0<=Wi<=200000分析首先判断是否存在两条路径:显然如果两个点不在一个边原创 2016-11-16 17:09:26 · 749 阅读 · 0 评论 -
[codeforces864F]Cities Excursions
题目大意给定n个点m条边的有向图。q次询问,每次给定x,y,k,求x到y的字典序最小的路径的第k个节点。路径是可以无限长的(1到2到1到2…,前提是能到达目标节点)。如果字典序最小的路径无限长或者x无法到达y或者路径没有k个点就输出-1.n,m≤3000,q≤400000分析考虑一个询问怎么做。 首先预处理出每个点能到达的所有点。然后从x出发,每次枚举当前点出边,在所有能到达y的点中找一个编号最小原创 2017-09-28 19:34:44 · 568 阅读 · 0 评论 -
[Codeforces860E]Arkady and a Nobody-men
题目大意给定一个n个节点的有根树。设r(a,b)r(a,b),其中b是a的祖先,这表示b的后代中除a以外深度不大于a的节点个数。设z(a)=∑r(a,b)z(a)=\sum r(a,b)。求每个z(a)z(a)n≤500000分析答案等于:∑dep(b)≤dep(a)dep(lca(a,b))−dep(a)\sum_{dep(b)≤dep(a)}dep(lca(a,b))-dep(a) 这等价于z原创 2018-01-16 20:22:03 · 566 阅读 · 0 评论