树形dp
MintGreenTZ
这个作者很懒,什么都没留下…
展开
-
2016SCZSC Day1
T1 prime 质数序列 题意简述:给出n个数,要从中取若干数构成数列,使得两两相加为质数,要在数列长度最长的情况下元素和最大(保证唯一解),升序输出。 简单题,显然如果没有1的情况只能有两个数,有1两个及以上把所有1拿出来,看看能不能再放一个(当时以为1只能放2个,结果Bomb)。T2 Bzoj2151 见:http://blog.csdn.net/mintgreentz/article原创 2016-08-14 16:30:48 · 325 阅读 · 0 评论 -
Bzoj 1596: [Usaco2008 Jan]电话网络
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=1596 有点像“没有上司的舞会”,但因为两座塔可以距离最多为3,所以要记三种状态。f[i]f[i]表示ii这个点已经放了,g[i]g[i]表示ii这个点没放但已经子树的通讯塔范围内了,h[i]h[i]表示ii这个点没放而且不在子树的通讯塔范围内。具体转移不难,如果不会可以参考代码。type原创 2016-10-30 22:31:15 · 439 阅读 · 0 评论 -
日常训练 20161102 隔离区
题意简述:给出一个nn个点的树(有边权),问删除其中一条边,剩下最长链的长度的期望。(乘(n−1)(n-1)输出)题解:经典树形dp,用down1、down2、down3记录每个点向下的第一第二第三长链,up记录每个点向上最长链,son1、son2记录每个点有第一第二长链的两棵子树,dis记每个点到其父亲的边权,down_ans记录每个点向下的答案,lws是longest_without_subtr原创 2016-11-02 16:44:42 · 345 阅读 · 0 评论 -
Bzoj 4824: [Cqoi2017]老C的键盘
题意简述:给出一个大小为nn的完全二叉树,每条边上有一个符号,表示相邻两节点数的大小关系,把一个nn的排列填进去,问合法方案数。 题解:用f[i][j]f[i][j]表示第ii个节点,排名为jj的方案数。对于每个点,把它的子树一棵一棵合并上来,设一棵子树AA排名为ii,另一棵子树BB有jj个元素插到ii的前面,合法的BB的排名是一个连续的区间,能用前缀和优化,jj个数插到ii前面,size[B]s原创 2017-04-14 21:01:43 · 1146 阅读 · 0 评论