【[APIO2010]巡逻】】的更多相关文章

P3629 [APIO2010]巡逻 题目描述 在一个地区中有 n 个村庄,编号为 1, 2, ..., n.有 n – 1 条道路连接着这些村 庄,每条道路刚好连接两个村庄,从任何一个村庄,都可以通过这些道路到达其 他任一个村庄.每条道路的长度均为 1 个单位. 为保证该地区的安全,巡警车每天要到所有的道路上巡逻.警察局设在编号 为 1 的村庄里,每天巡警车总是从警察局出发,最终又回到警察局. 下图表示一个有 8 个村庄的地区,其中村庄用圆表示(其中村庄 1 用黑色的 圆表示),道路是连接这些…
洛谷题目链接:[APIO2010]巡逻 题目描述 在一个地区中有 n 个村庄,编号为 1, 2, ..., n.有 n – 1 条道路连接着这些村 庄,每条道路刚好连接两个村庄,从任何一个村庄,都可以通过这些道路到达其 他任一个村庄.每条道路的长度均为 1 个单位. 为保证该地区的安全,巡警车每天要到所有的道路上巡逻.警察局设在编号 为 1 的村庄里,每天巡警车总是从警察局出发,最终又回到警察局. 下图表示一个有 8 个村庄的地区,其中村庄用圆表示(其中村庄 1 用黑色的 圆表示),道路是连接这…
[APIO2010]巡逻 题目描述 在一个地区中有 n 个村庄,编号为 1, 2, ..., n.有 n – 1 条道路连接着这些村 庄,每条道路刚好连接两个村庄,从任何一个村庄,都可以通过这些道路到达其 他任一个村庄.每条道路的长度均为 1 个单位. 为保证该地区的安全,巡警车每天要到所有的道路上巡逻.警察局设在编号 为 1 的村庄里,每天巡警车总是从警察局出发,最终又回到警察局. 下图表示一个有 8 个村庄的地区,其中村庄用圆表示(其中村庄 1 用黑色的 圆表示),道路是连接这些圆的线段.为…
Description Input 第一行包含两个整数 n, K(1 ≤ K ≤ 2).接下来 n – 1行,每行两个整数 a, b, 表示村庄a与b之间有一条道路(1 ≤ a, b ≤ n). Output 输出一个整数,表示新建了K 条道路后能达到的最小巡逻距离. Range 10%的数据中,n ≤ 1000, K = 1: 30%的数据中,K = 1: 80%的数据中,每个村庄相邻的村庄数不超过 25: 90%的数据中,每个村庄相邻的村庄数不超过 150: 100%的数据中,3 ≤ n ≤…
题目描述 在一个地区中有 n 个村庄,编号为 1, 2, ..., n.有 n – 1 条道路连接着这些村 庄,每条道路刚好连接两个村庄,从任何一个村庄,都可以通过这些道路到达其 他任一个村庄.每条道路的长度均为 1 个单位. 为保证该地区的安全,巡警车每天要到所有的道路上巡逻.警察局设在编号 为 1 的村庄里,每天巡警车总是从警察局出发,最终又回到警察局. 下图表示一个有 8 个村庄的地区,其中村庄用圆表示(其中村庄 1 用黑色的 圆表示),道路是连接这些圆的线段.为了遍历所有的道路,巡警车需…
Description 在一个地区中有 n 个村庄,编号为 1, 2, ..., n.有 n – 1 条道路连接着这些村 庄,每条道路刚好连接两个村庄,从任何一个村庄,都可以通过这些道路到达其 他任一个村庄.每条道路的长度均为 1 个单位. 为保证该地区的安全,巡警车每天要到所有的道路上巡逻.警察局设在编号 为 1 的村庄里,每天巡警车总是从警察局出发,最终又回到警察局. 下图表示一个有 8 个村庄的地区,其中村庄用圆表示(其中村庄 1 用黑色的 圆表示),道路是连接这些圆的线段.为了遍历所有的…
题目在这里 这是一个紫题,当然很难. 我们往简单的想,不建立新的道路时,从1号节点出发,把整棵树上的每条边遍历至少一次,再回到1号节点,会恰好经过每条边两次,路线总长度为$2(n-1)$,根据树的深度优先遍历思想,很容易证明这个结论,因为每条边必然被递归一次,回溯一次. 建立1条新道路之后,因为新道路必须恰好经过一次(0次,2次都不可以),所以在沿着新道路(x,y)巡逻之后,要返回x,就必须沿着树上从y到x的路径巡逻一遍,最终形成一个环.与不建立新道路的情况相结合,相当于树上x与y之间的路径就只…
link 题意 有 \(n\) 个村庄,编号为 \(1, 2, ..., n\) .有 \(n – 1\) 条道路连接着这些村 庄,从任何一个村庄都可以到达其他任一个村庄.道路长度均为 1. 巡警车每天要到所有的道路上巡逻.警察局设在编号为 \(1\) 的村庄里,每天巡警车总是从警察局出发又回到警察局. 在这些村庄之间建 \(K\) 条新的道路, 可以连接任意两个村庄.每天巡警车必须 经过新建的道路正好一次. 求最小的巡逻距离. 思路 非常有意思的一道题.顺便复习了直径的两种写法. 考虑逐条加边…
一道树的直径 BZOJ原题链接 洛谷原题链接 显然在原图上路线的总长为\(2(n-1)\). 添加第一条边时,显然会形成一个环,而这条环上的所有边全部只需要走一遍.所以为了使添加的边的贡献最大化,我们找出树的直径,将其两端点连上边即可. 设直径长\(L\),于是路线总长就变为\(2(n-1)-L+1=2n-L-1\). 当\(K=1\)时,这就是答案. 当\(K=2\)时,我们考虑在上述添边后图中再添一条边. 添加这条边同样会形成一个环,如果这个环与之前的环没有边重合的话,那么贡献和上一边一样,…
\(APIO\)的题就是非常难啊 首先看到\(k=1\)的情况,显然我们只需要找到一条直径把这条直径的两端连起来就好了 因为我们连这一条新边的实质是使得这一条链上的边不需要重复经过了,我们想让走的边尽量少,自然需要重复经过的尽量少,所以\(k=1\)找到直径就好了 答案就是\(2\times(n-1)-R+1\),\(R\)是直径的长度,\(+1\)是因为多了一条边要走 之后是\(k=2\)的情况 有了上面的经验可能第一感受就是在找一条尽量长的路径,使得这条路径上的边只需要经过一次就好了 但是有…