正睿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]
之前已经说过比赛时出现了种种状况
导致就考了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]
相关文章推荐
- NOIP欢乐模拟赛 T2 解题报告
- NOIP2007 T2纪念品分组 解题报告-S.B.S.
- NOIP2007 T2纪念品分组 解题报告-S.B.S.
- NOIP2008 普及组T2 排座椅 解题报告-S.B.S
- 「NOIP 2017」解题报告
- NOIP2017普及组解题报告
- [NOIP2017]提高组解题报告
- NOIP2007 T2纪念品分组 解题报告-S.B.S.
- NOIP2017普及组复赛解题报告
- NOIP2008 普及组T2 排座椅 解题报告-S.B.S
- 20161005 NOIP 模拟赛 T2 解题报告
- NOIP2008 普及组T2 排座椅 解题报告-S.B.S
- NOIP2017 提高Day2-2 宝藏 解题报告
- 20161003 NOIP 模拟赛 T2 解题报告
- 20161023 NOIP 模拟赛 T2 解题报告
- 一中OJ #1399 金明的预算 [NOIP 2006 Senior T2] | 动态规划 0/1背包变式 | 解题报告
- 正睿OI noip2017冲刺 第一次考试T2 代码
- 【JZOJ 5461】【NOIP2017提高A组冲刺11.8】购物
- NOIP2000 解题报告
- LuoguP1074[NOIP2009] 靶形数独 解题报告【搜索】