摘要: 传送门:Problem 1330 https://www.cnblogs.com/violet-acmer/p/9686774.html 参考资料: http://dongxicheng.org/structure/lca-rmq/ 挑战程序设计竞赛(第二版) 变量解释: 对有根树进行DFS,将遍历 阅读全文
posted @ 2018-09-25 09:13 HHHyacinth 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 传送门:Problem 2370 https://www.cnblogs.com/violet-acmer/p/9686774.html AC代码: Tarjan+LCA: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 # 阅读全文
posted @ 2018-09-24 09:18 HHHyacinth 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 传送门 •题意 在一个包含 n 个节点 m 条边的森林中; 有 q 次询问,每次询问求解两点间的最短距离; 如果这两点不联通,输出 "Not connected"; •题解1 树上任意两点间的最短距离就是最近公共祖先分别到这两点的距离和; 那么这个问题就被转化成了LCA问题。 因为有多棵树,所以,对 阅读全文
posted @ 2018-09-22 21:49 HHHyacinth 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 传送门 题意: 某村庄有n个小屋,n-1条道路连接着n个小屋(无环),求村庄A到村庄B的距离,要求是经过任一村庄不超过一次。 题解: 求出 lca = LCA(u,v) , 然后答案便是dist[u] + dist[v] - 2 * dist[lca]; AC代码: 1 #include<iostr 阅读全文
posted @ 2018-09-21 15:27 HHHyacinth 阅读(182) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-09-20 21:55 HHHyacinth 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 传送门:Problem C https://www.cnblogs.com/violet-acmer/p/9682082.html 题意: 给你n个数,定义有两种操作 ① 1 i j : (i != j) 将a[i]从数列中移除,且a[j] <- a[i]*a[j] ② 2 i : 将a[i]从数列 阅读全文
posted @ 2018-09-20 21:51 HHHyacinth 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 传送门:Problem B https://www.cnblogs.com/violet-acmer/p/9682082.html 题意: 如果可以通过喝果汁将维生素A,B,C全部摄取,求最小花费,如果不能,输出"-1"。 题解: 我的思路:每个果汁含有的维生素最多有7种可能,分别为 A B C A 阅读全文
posted @ 2018-09-20 18:03 HHHyacinth 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 传送门:Problem A https://www.cnblogs.com/violet-acmer/p/9682082.html 题意: 公园里有n个沙滩,a[i]表示第i个沙滩初始人数,现有m个人可以到任意沙滩,在这m个人全部到达任意沙滩后,求沙滩最多人数的最大值和最小值 例如: 假设有n=5, 阅读全文
posted @ 2018-09-20 17:41 HHHyacinth 阅读(131) 评论(0) 推荐(0) 编辑
摘要: Codeforces Round #510 (Div. 2) 阅读全文
posted @ 2018-09-20 17:23 HHHyacinth 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 传送门 •参考资料 [1]:ACM-ICPC 2018 青岛赛区网络预赛 B. Red Black Tree (LCA、二分) •题意 给出一棵树,根节点为1。 每条边有一个权值,树上有红色结点 m 个,其花费为 0 ,其余为黑色; 每个黑色结点的花费为其到最近红色祖先的经过的路径权值之和。 有 q 阅读全文
posted @ 2018-09-19 21:53 HHHyacinth 阅读(344) 评论(0) 推荐(0) 编辑