您的位置:首页 > 其它

正睿OI noip2017冲刺 第一次考试T2 解题报告

2017-08-30 20:02 253 查看
这题是后来比赛完才写的

之前已经说过比赛时出现了种种状况

导致就考了1个小时

所以没时间写

题目因为版权原因不能放出来

相信dalao们读代码也能读出个大概

这题一开始没有想到暴力的树形DP

而是手推了一个公式f
=f[n-1]*num

结果发现每种情况的num是不知道的

所以写不下去了

后面收yjq大佬指教发现可以写一个模拟建树过程的DP

在每个点我们考虑2种情况

一是添加左儿子 二是添加深度最小的无右儿子节点的右儿子

那么就可以转移了

用f[i][j]表示有i个叶子节点,有j条左边

那么加左儿子这条边时:

if (j<m-1)

  f[i][j+1]=(f[i][j+1]+f[i][j])%mo;

加深度最小的无右儿子节点的右儿子这条边时:

if (j>0)

   f[i+1][j-1]=(f[i+1][j-1]+f[i][j])%mo;

最后结果则为f[i][0]


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: