codeforces 613D:Kingdom and its Cities】的更多相关文章

Description Meanwhile, the kingdom of K is getting ready for the marriage of the King's daughter. However, in order not to lose face in front of the relatives, the King should first finish reforms in his kingdom. As the King can not wait for his daug…
Meanwhile, the kingdom of K is getting ready for the marriage of the King's daughter. However, in order not to lose face in front of the relatives, the King should first finish reforms in his kingdom. As the King can not wait for his daughter's marri…
LINK:Kingdom and its Cities 发现是一个树上关键点问题 所以考虑虚树刚好也有标志\(\sum k\leq 100000\)即关键点总数的限制. 首先当k==1时 答案显然为0. 然后考虑无解情况 容易发现这种情况是两个点同时为关键点 那么我们只需要判断是否存在两个点相连的情况就好了. 这个可以在建立虚树时候判断 我多此一举了 直接标记父亲然后判断父亲是否存在. 接下来考虑如何统计答案. 可以从下往上观察 在某个点处统计儿子们的贡献. 假设儿子都是关键点 考虑当前点是否是…
[CF613D]Kingdom and its Cities 题意:给你一棵树,每次询问给出k个关键点,问做多干掉多少个非关键点才能使得所有关键点两两不连通. $n,\sum k\le 10^5$ 题解:刷虚树板子啦! 首先如果两个关键点相邻则无解.然后建出虚树,进行树形DP.设f[i]表示i子树中的关键点都不连通,且i子树中的点与外面的点也不连通的最小花费,g[i]表示i子树重的关键点都不连通,且子树中只有一个点与外面的点连通的最小花费.转移时讨论一波即可. #include <cstdio>…
[CF613D]Kingdom and its Cities 题面 洛谷 题解 看到关键点当然是建虚树啦. 设\(f[x]\)表示以\(x\)为根的子树的答案,\(g[x]\)表示以\(x\)为根的子树内是否有和\(x\)联通的点,\(c=\sum_{v\in son_x} g[v]\). 分类讨论一下: 如果一个点在原树下它和它的父亲均为关键点,那么显然不行. 这个点是关键点,\(f[x]+=c\),\(g[x]=1\) 这个点不是关键点,若\(c>1\)则断掉这个点,\(++f[x],g[x…
[CF613D]Kingdom and its Cities(虚树,动态规划) 题面 洛谷 CF 翻译洛谷上有啦 题解 每次构建虚树,首先特判无解,也就是关键点中存在父子关系. 考虑\(dp\),设\(f[i]\)表示解决\(i\)子树以内的最小点数 再用一个数组\(g[i]\)表示\(i\)的子树中还未阻断的点数 \(f[u]=\sum f[v],g[u]=\sum g[v]\) 考虑转移, 如果\(u\)不是关键点,并且\(v>1\) 那么,当前点必须放置,\(f[u]+=1,g[u]=0\…
题目链接:http://codeforces.com/contest/613/problem/D 题意概述: 给出一棵树,每次询问一些点,计算最少删除几个点可以让询问的点两两不连通,无解输出-1.保证询问的点总数不大于300000. 分析: 先考虑遍历的做法,统计每个点代表的子树中联通询问点的数量. 这个点不是询问点:如果有至少两个不同的子树中有询问点那么当前点一定被删除,因为这个时候不删除之后这两个点就是联通的:同时除了在更深的地方遇见第一种情况之外没有必要删除那些点:没有点不用管,只有一个点…
D. Jzzhu and Cities time limit per test: 2 seconds memory limit per test: 256 megabytes input: standard input output: standard output Jzzhu is the president of country A. There are \(n\) cities numbered from \(1\) to \(n\) in his country. City \(1\)…
pro: 从左到有有N个车道,都有一定程度损坏,所以有不同的修理费a[]: 有M场比赛,每场比赛的场地是[Li,Ri],即如果这个区间的车道都被修理好,则可以举办这个比赛,并且收益是Pi.问最多得到多少收益.N,M<2e5: sol: 比较明显的右端点排序,求最大DP问题.  dp[i]表示只考虑修前i条路的最大收益,那么dp[i]=max(dp[j]+P(j+1,i)-a(j+1,i)); P(i,j)表示这个区间的收益,a(i,j)表示这个区间的修理费. 考虑无后效性,我们按右端点排序,然后…
A. Buses Between Cities 题目连接: http://www.codeforces.com/contest/665/problem/A Description Buses run between the cities A and B, the first one is at 05:00 AM and the last one departs not later than at 11:59 PM. A bus from the city A departs every a mi…