1677 treecnt(贡献)】的更多相关文章

1677 treecnt 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 给定一棵n个节点的树,从1到n标号.选择k个点,你需要选择一些边使得这k个点通过选择的边联通,目标是使得选择的边数最少. 现需要计算对于所有选择k个点的情况最小选择边数的总和为多少. 样例解释: 一共有三种可能:(下列配图蓝色点表示选择的点,红色边表示最优方案中的边) 选择点{1,2}:至少要选择第一条边使得1和2联通.   选择点{1,3}:至少要选择第二条边使得1和3联通. 选择点{…
一道比较基础的计数题,还是一个常用的单独计算贡献的例子. 首先看题目和范围,暴力枚举肯定是不可行的,而且\(O(n\ logn)\)的算法貌似很难写. 那我们就来想\(O(n)\)的吧,我们单独考虑每一条边的贡献,我们注意到一个重要的性质: 树上任意两点间的最短路径都是唯一确定的. 这个常识吧,所以我们只需要考虑每一条边两边的点在计算时会经过这条边多少次. 我们枚举每一条边,然后可以这样考虑这一条边: 我们设一边有\(x\)个点,另一边有\(y\)个点,很明显\(x+y=n\) 然后我们考虑有多…
题意: 给定一棵n个节点的树,从1到n标号.选择k个点,你需要选择一些边使得这k个点通过选择的边联通,目标是使得选择的边数最少. 现需要计算对于所有选择k个点的情况最小选择边数的总和为多少. 考虑每条边对答案的贡献,令x为这条边左边的点数,则n-x为这条边右边的点数. 满足条件的情况数=总情况数-不满足条件的情况数.即C(n,k)-(C(x,k)+C(n-x,k)). # include <cstdio> # include <cstring> # include <cstd…
胡小兔的 OI 日志 3 (2017.9.1 ~ 2017.10.11) 标签: 日记 查看最新 2017-09-02 51nod 1378 夹克老爷的愤怒 | 树形DP 夹克老爷逢三抽一之后,由于采用了新师爷的策略,乡民们叫苦不堪,开始组织起来暴力抗租. 夹克老爷很愤怒,他决定派家丁常驻村中进行镇压. 诺德县 有N个村庄,编号0 至 N-1,这些村庄之间用N - 1条道路连接起来. 家丁都是经过系统训练的暴力机器,每名家丁可以被派驻在一个村庄,并镇压当前村庄以及距离该村庄不超过K段道路的村庄.…
一道有机结合了计数和贪心这一DP两大考点的神仙题,不得不说做法是很玄妙. 首先我们很容易想到DP,设\(f_{i,j}\)表示在以\(i\)为根节点的子树中选\(j\)个黑色节点的最大收益值. 然后我们考虑那种暴力转移就是那种看上去是\(O(n^3)\)实际经严格证明后时\(O(n^2)\)的DP 然后推推推推推推,一个小时过去还是一个屁 这个时候我们不禁质疑,这个鬼状态不会是错的吧. 没错,它就是错的,因为这样对于你子树上面的黑点节点之间的收益你都一无所知 然后我们联想到另外一道树上计数的题目…
treecnt  ﹡    LH (命题人)   基准时间限制:1 秒 空间限制:131072 KB 分值: 40 给定一棵n个节点的树,从1到n标号.选择k个点,你需要选择一些边使得这k个点通过选择的边联通,目标是使得选择的边数最少. 现需要计算对于所有选择k个点的情况最小选择边数的总和为多少. 样例解释: 一共有三种可能:(下列配图蓝色点表示选择的点,红色边表示最优方案中的边) 选择点{1,2}:至少要选择第一条边使得1和2联通.   选择点{1,3}:至少要选择第二条边使得1和3联通. 选…
题目链接 dalao们怎么都写的线段树合并啊.. dsu跑的好慢. \(Description\) 给定一棵\(n(n\leq 10^5)\)个点的树. 定义\(Tree[L,R]\)表示为了使得\(L\sim R\)号点两两连通,最少需要选择的边的数量. 求\[\sum_{l=1}^n\sum_{r=l}^nTree[l,r]\] \(Solution\) 枚举每条边,计算它的贡献. 那么我们要判断有多少连续区间的点跨过这条边,并不好算,反过来去求在这条边的两侧分别有多少个连续区间. 那么显然…
[洛谷U40581]树上统计treecnt 题目大意: 给定一棵\(n(n\le10^5)\)个点的树. 定义\(Tree[l,r]\)表示为了使得\(l\sim r\)号点两两连通,最少需要选择的边的数量. 求\(\sum_{l=1}^n\sum_{r=l}^nTree[l,r]\). 思路: 对于每个边考虑贡献,若我们将出现在子树内的点记作\(1\),出现在子树外的点记作\(0\),那么答案就是\(\frac{n(n-1)}2-\)全\(0\).全\(1\)串的个数.线段树合并,维护前缀/后…
treecnt 基准时间限制:1 秒 空间限制:131072 KB 给定一棵n个节点的树,从1到n标号.选择k个点,你需要选择一些边使得这k个点通过选择的边联通,目标是使得选择的边数最少. 现需要计算对于所有选择k个点的情况最小选择边数的总和为多少. 样例解释: 一共有三种可能:(下列配图蓝色点表示选择的点,红色边表示最优方案中的边) 选择点{1,2}:至少要选择第一条边使得1和2联通.   选择点{1,3}:至少要选择第二条边使得1和3联通. 选择点{2,3}:两条边都要选择才能使2和3联通.…
团队贡献分: 郭志豪:31%  http://www.cnblogs.com/gzh13692021053/ 杨子健:22%http://www.cnblogs.com/yzj666/ 谭宇森:23%http://www.cnblogs.com/yzj666/ 刘森松:24%  http://www.cnblogs.com/lssh/…