
ACM/ICPC图论_LCA
just_sort
Acdream.
展开
-
UVALive 4960 Sensor network(MST+LCA)
【题目】http://acm.hust.edu.cn/vjudge/problem/16412【题意】给了N【解题方法】这道题曾经有一个小数据版本,uva1395,那道题可以通过枚举最小边,算最小生成树,暴力算出最大减去最小的最大值。这种复杂度在这里是n*m*m也就是到达n的五次方,所以这种方法是行不通的。现在丢出正解:对边排序后,一条一条的加边,成环了就删去环上的最小边。因为原创 2016-08-27 10:31:09 · 801 阅读 · 0 评论 -
Educational Codeforces Round 3 E. Minimum spanning tree for each edge MST+树上路径倍增
题目链接:http://codeforces.com/contest/609/problem/E题意:给一个无向图,n个点,m条边,对任意边edge[i],求出包含有边edge[i]的最小生成树。解法:考虑MST的性质,对任意两点u,v一定有且只有一条路径,当边[u,v]不是MST边的时候,加入边[u,v]便会形成环,于是在u到v的路径上找一条权值最大的边删去再加入边[u,v],之前环上的任意两点仍原创 2017-04-26 10:39:37 · 581 阅读 · 0 评论 -
Codeforces Round #343 (Div. 2) E. Famil Door and Roads lca 树形dp,lca
题目链接:http://codeforces.com/contest/629/problem/E 题意:给你一棵节点数为n的树,随机地在树上的任意两个点连一条边,给你m个询问,每次询问两个点,问连一条边后如果这两个点能在简单环中,简单环的期望是多少。简单环即这两个点在一个环上,这个环是没有重边的。 解法:这里先设置几个变量dep[i]:i节点的深度,这里记dep[0]=0,dep[1]=1;sz原创 2017-03-28 15:23:39 · 488 阅读 · 0 评论 -
2016CCPC东北地区大学生程序设计竞赛 - 重现赛 部分题解
【题目链接】http://acm.hdu.edu.cn/search.php?field=problem&key=2016CCPC%B6%AB%B1%B1%B5%D8%C7%F8%B4%F3%D1%A7%C9%FA%B3%CC%D0%F2%C9%E8%BC%C6%BE%BA%C8%FC+-+%D6%D8%CF%D6%C8%FC&source=1&searchmode=source【1001原创 2016-10-08 16:27:13 · 3533 阅读 · 0 评论 -
SPOJ Query on a tree II (倍增LCA)
Query on a tree IITime Limit: 433MS Memory Limit: 1572864KB 64bit IO Format: %lld & %lluSubmitStatus DescriptionYou are given a tree (an undirected acyclic原创 2016-08-26 21:31:33 · 977 阅读 · 0 评论 -
Gym 100685G Gadget Hackwrench (LCA)
【题意】给了一颗V【解题方法】随便一个点当成根,那么边有两种,一种是向上一种向下。我们可以预处理dp[u]表示u向上或者下的边的条数,有了这个就可以快速算出u向上或者向下的边的条数。当询问(u,v)是否可以到达的时候,只需要判断u->lca(u,v)lca(u,v)->v路径上的上下边是否相同就可以了。【AC 代码】#include #include #include #incl原创 2016-09-06 10:49:38 · 516 阅读 · 0 评论 -
UESTC 92 Journey(LCA 裸题)
【题意】给了一颗树,问加一条边可以为两点节省多少距离?【解题方法】知道dp[u,v]=dp[u]+dp[v]-2*dp[lca(u,v)]就没问题啦。【AC 代码】#include #include #include #include using namespace std;const int maxn = 100010;int n,q,a,b,l;int head[ma原创 2016-09-06 10:06:48 · 766 阅读 · 0 评论 -
LCA 总结
【转载地址】点击打开链接I LCA:什么是LCA?Lowest Common Ancestor, 指的是树上两点的最近公共祖先。有了它, 我们可以高效地求解树上两点间的距离、最大权值边等信息。LCA的时间复杂度:暴力 O(n+m+qn)倍增法 O(n+m+nlogn+qlogn)欧拉序列与RMQ O(n+m+nlogn+q)Tarjan离线算法 O(n+m+q)树链剖分 O转载 2016-08-26 17:06:44 · 836 阅读 · 0 评论 -
UVALive 6837 There is No Alternative (MST+暴力LCA)
【题意】给定一个联通图,求这个图的最小生成树的不可替代边有哪些,并计算这些边的总权值。【分析】先任意求出一颗生成树,然后标记树边和非树边。然后枚举一下非树边,对于每条边u,v,去找MST上从u到v的路径上是否存在某条边的权值等于这条边的权值。如果有,说明是可替代的。这里直接暴力u,v之间的路径或者求lca即可。【AC 代码】#include using namespace std;原创 2016-09-06 09:33:48 · 654 阅读 · 0 评论 -
Codeforces Round #326 (Div. 2) E. Duff in the Army
E. Duff in the Armytime limit per test4 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputRecently Duff has been a soldier in the army. Mal原创 2016-09-05 11:20:09 · 739 阅读 · 0 评论 -
POJ 2763 Housewife Wind 两种解法
Housewife WindTime Limit: 4000MS Memory Limit: 65536KTotal Submissions: 9637 Accepted: 2642DescriptionAfter their royal wedding, Jiajia and Wind hid away in XX Vi原创 2016-09-04 15:27:58 · 813 阅读 · 0 评论 -
HDU 2874 Connections between cities
Connections between citiesTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9785 Accepted Submission(s): 2357Problem DescriptionAf原创 2016-09-02 20:55:28 · 453 阅读 · 0 评论 -
POJ 3417 Network(dp+tarjian LCA)
NetworkTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 4929 Accepted: 1413DescriptionYixght is a manager of the company called SzqNetwork(SN). Now she原创 2016-08-28 15:27:51 · 685 阅读 · 0 评论 -
UVA 11354 Bond(MST+倍增)
【题意】给定N【解题方法】找最小,显然先MST。然后用倍增搞一搞就行了,熟练剖分也可以,算是树剖入门题了,我这里用倍增来搞一下。【AC 代码】#include #include #include #include #include using namespace std;const int maxn = 5e5+10;const int maxm = 1e6+10;in原创 2016-08-28 14:27:16 · 742 阅读 · 0 评论 -
美团CODEM 复赛 城市网络 询问离线,树上LCA
有一个树状的城市网络(即 n 个城市由 n-1 条道路连接的连通图),首都为 1 号城市,每个城市售卖价值为 a_i 的珠宝。你是一个珠宝商,现在安排有 q 次行程,每次行程为从 u 号城市前往 v 号城市(走最短路径),保证 v 在 u 前往首都的最短路径上。在每次行程开始时,你手上有价值为 c 的珠宝(每次行程可能不同),并且每经过一个城市时(包括 u 和 v ),假如那个城市中售卖的珠宝原创 2017-07-31 15:16:33 · 388 阅读 · 0 评论