随笔分类 - dp
摘要:首先来考虑什么情况方案数为 \(0\): 可以确定,在某一层中,两个原本都能晋级的队伍比赛; 可以确定,在某一层中,两个原本都不能晋级的队伍比赛。 发现假如写出每一场比赛及其胜者,可以形成一棵树形结构,在里面打标记即可判断是否为 \(0\)。 我们设 \(a_i\) 表示第 \(i\) 层新加的队伍
阅读全文
摘要:看到 \(a_i\le 70\) 后,发现 \(n\) 啥用没有,因为只需要枚举 \(1-70\) 选几个即可。 看到求完全平方数后,想到分解质因数,由于 \(a_i\le 70\),所以只有 \(19\) 个质数,可以进行状压 dp。 设 \(dp_{i,j}\) 表示枚举到 \(i\),状态为
阅读全文
摘要:很容易想到树形 dp。 考虑在有根树内,每个点都有两种状态: 不选自己和父亲的边; 要选自己和父亲的边。 那么单独对于子树内部而言,就要分两种情况: 最多可以向 \(d_i\) 个孩子连边,对应上述第一种情况,我们称之为 \(f_i\); 最多可以向 \(d_i-1\) 个孩子连边,对应上述第二种情
阅读全文
摘要:每次合并两个数,做过石子合并的人都能看出来是区间 dp。 设状态 \(dp_{i,j}\) 表示区间 \([i,j]\) 中合并为一个数的所有情况之和。 那么我们就可以枚举断点 \(k\): \(b_k\) 为 \(+\):\([i,k]\) 中的每种情况都要和 \([k+1,j]\) 中的每种情况
阅读全文