
treedp
文章平均质量分 71
Exception2017
OI总结
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
加分二叉树(Treedp)
题目描述【问题描述】在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习。现在有N门功课,每门课有若干个学分,每门课有一门或没有直接先修课(若课程a是课程b的先修课即只有学完了课程a,才能学习课程b)。一个学生要从这些课程里选择M门课程学习,问他能获得的最大学分是多少? 【输入格式】第一行有两...原创 2018-10-18 22:54:28 · 154 阅读 · 0 评论 -
皇宫看守 LOJ10157
皇宫看守(程序文件名:guard.pas)问题描述:太平王世子事件后,陆小凤成了皇上特聘的御前一品侍卫。 皇宫以午门为起点,直到后宫嫔妃们的寝宫,呈一棵树的形状;某些宫殿间可以互相望见。大内保卫森严,三步一岗,五步一哨,每个宫殿都要有人全天候看守,在不同的宫殿安排看守所需的费用不同。 可是陆小凤手上的经费不足,无论如何也没法在每个宫殿都安置留守侍卫。编程任务:帮助陆小凤布置侍卫,在看守...原创 2018-10-20 11:12:46 · 1298 阅读 · 0 评论 -
[ZJOI2007]时态同步 树规
原题:https://www.luogu.org/problemnew/show/P1131题解:用dp的方法做,设s[x]为以x为根的最长路径,f[x]为以x为根的需要的结果。有dp方程:(y为x的儿子)s[x]=max{ s[y]+w[x][y]}f[x]=sum{f[y]+s[x]-s[y]-w[x][y]}要注意的是x需要遍历完所有的儿子在求和。这题要开long long...原创 2019-04-09 23:14:49 · 146 阅读 · 0 评论 -
CF958B2. Maximum Control (medium) 树形dp/树的直径+贪心
原题:http://codeforces.com/contest/958/problem/B2题解:这题本质上是一个dp。通过分析可以发现当只放1个时答案为1,只放两个时为树的直径,现在考虑放三个的时候,应该在剩下的树上找一条较长的链。可以得到一个策略:只要给一颗树,这个选择的顺序就是确定的,就是找树上不重叠链的长度的降序排序。这个结论为什么是正确的,给出一种很fake的证明:用数学归纳法...原创 2019-04-27 21:55:42 · 430 阅读 · 0 评论 -
[TJOI2017]城市 树形dp+树的直径+树的中心
原题:https://www.luogu.org/problemnew/show/P3761题解:修改一条边,使最长链最短。枚举每一条边,显然可以将树分成两个联通块,那么最长链可以是两个联通块的直径,也可以是,连接两个联通块的中心,即两颗树的半径+枚举的边长。可以用树形dp求。对于直径:设dp[x][0/1]表示以x为根子树的最大长,和次大长void getd(int x,int ...原创 2019-04-30 23:54:37 · 277 阅读 · 0 评论