![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GDSOI
TARsier_Gu
这个作者很懒,什么都没留下…
展开
-
【GDSOI2017模拟】树
Description有n个点,它们从1到n进行标号,第i个点的限制为度数不能超过A[i]. 现在对于每个s (1 <= s <= n),问从这n个点中选出一些点组成大小为s的有标号无根树的方案数。Solution一个名叫prufer数列的东西,这是由标过号的无根树转化而来的数列,大致原理是:移去所有叶子节点(度为1的顶点)中标号最小的顶点和相连的边,并把与它相邻的点的编号加入prufer序列中,原创 2017-04-18 22:32:15 · 472 阅读 · 0 评论 -
【GDSOI2017模拟】奶酪
DescriptionCJY很喜欢吃奶酪,于是YJC弄到了一些奶酪,现在YJC决定和CJY分享奶酪。 YJC弄到了n-1块奶酪,于是他把奶酪挂在了一棵n个结点的树上,每根树枝上挂一块奶酪,每块奶酪都有重量。 YJC和CJY决定这样分奶酪:首先砍掉一根树枝,把树分成两部分,每人取一部分,然后各自在自己取的那部分树上选择一条路径并取走路径上的奶酪,然后把剩下的奶酪拿去喂老鼠。 两人都想让自己取走总原创 2017-04-18 22:17:18 · 436 阅读 · 0 评论 -
【GDSOI2017模拟】Travel Plan
DescriptionSolution很容易看得出是DP,但是在转移的方面有点意思。 如果我们把这个树按dfs序转化成数列之后可以发现,问题变成了:现在有一段连续的dfs序的节点不能够被选则,问除去这一段的其他节点最大贡献是什么? 可以发现,若是转化成数列,就是很简单的背包,但是要如何解决把所有节点的贡献合并起来呢?可以发现,如果我们弄一个DP的前缀值和后缀值,每次询问就很好解决了。但是还有一个原创 2017-04-22 21:15:01 · 475 阅读 · 0 评论