05 2024 档案

摘要:2024.5.18 杂题 「SMOI-R1」Apple 两个操作,修改元素,求子集和。 高位前缀和不会。考虑朴素 dp 转移 设 \(f[i]\) 表示二进制下长度为 \(n\) 的数前 \(i\) 位为 \(1\),后边为 \(0\) 的子集和。理论来说可以转移,但是比较麻烦,考虑优化状态,\(f 阅读全文
posted @ 2024-05-18 13:53 PassName 阅读(45) 评论(0) 推荐(0)
摘要:区间 dp 石子合并 将区间长度 \(len\) 作为 \(dp\) 的阶段 设 \(f[l][r]\) 表示把最初的第 \(l\) 堆到第 \(r\) 堆石子合并成一堆,需要消耗的最少体力。 合并代价就是这两堆石子的质量和,这里可以用前缀和直接计算,设 \(s[i]\) 表示前 \(i\) 堆石子 阅读全文
posted @ 2024-05-18 09:00 PassName 阅读(30) 评论(0) 推荐(0)
摘要:背包 dp AcWing 278. 数字组合 \(n\) 个数就是 $n $ 个物品,每个物品的价值就是它本身的数值,只能用一次,要求价值和为 \(m\) 的方案数。直接 01 背包即可。 int n, m; int a[N], f[M]; signed main() { cin >> n >> m 阅读全文
posted @ 2024-05-11 11:41 PassName 阅读(28) 评论(0) 推荐(0)
摘要:线性 dp SP15637 GNYR04H 按照编号从小到大摆放所有人 每个人都只能放在已经存在的某个人的后面 (除第一行外)任何一行的人数都不能比后一行多 状态表示:\(f[a][b][c][d][e]\) 表示第一行 \(a\) 个人,第二行 \(b\) 个人,...,第五行 \(e\) 个人的 阅读全文
posted @ 2024-05-11 09:51 PassName 阅读(42) 评论(0) 推荐(0)