AtCoder DP系列刷题记录
https://www.luogu.com.cn/training/313353
直面自己的弱点。
标 *
的为在做题过程中有看题解的题。
1|0A Frog 1
表示跳到第 块石头的最小花费,则有:
2|0B Frog 2
很快就写完了,但是一直调了十分钟,耻辱啊。
表示跳到第 块石头的最小花费。显然如果反着跳,第 根木桩只能从第 或 木桩上跳到,则有:
3|0C Vacation
语文课花两分钟想出来的。
表示到第 天时,做第 件时获得的最大总幸福度。显然对于 ,它只能接受 和 的转移,其他两边情况相同,则有:
4|0D Knapsack 1
背包板子,不讲了。
5|0E Knapsack 2
与 背包基本一致,但数据范围大了很多,将 数组表示的东西换一下就行了,不表示价值,表示重量。像 背包一样压维,则有:
6|0F LCS
经典题,就是恶心了一点。
表示到 的第 位, 的第 位时的最大公共子序列长度,则有:
然后再记录一个 数组,方便找到这一位是从前一位中的 的哪个转过来的。
然后从后往前再跑一遍找到这个最大公共子序列即可。
7|0G Longest Path
拓扑排序模板题。
表示以 为终点的路径最大长度。若有 到 ,则有:
然后先跑出拓扑序,然后按序 即可。
8|0H Grid 1
突然冒出来一道比前面所有题都简单的题...
表示到第 行第 列有多少种走法。则有:
9|0I Coins
表示前 个硬币中,有 个正面朝上的概率,则有:
10|0*J Sushi
其实不难,当时脑子没转过来。
表示有 个没有寿司的盘子、 个有 个寿司的盘子、 个有 个寿司的盘子时的期望次数, 个有 个寿司的盘子时的期望次数,则有:
移项得:
发现有 个寿司的盘子数是可以通过其他三个盘子的数量和总数 算出来的,压掉一维,然后有:
转移方程:
11|0K Stones
当一名玩家操作时剩余石子为 ,则另一位玩家必胜,由此可以倒推。
表示在剩余 个石子时,先手胜还是后手胜,则有:
12|0L Deque
区间 典题。
表示在剩余下标为 的区间时,当前取数的人能获得的最大数字和,则有:
直接搞会超时,所以用前缀和维护即可。
13|0M Candies
五分钟,优化半小时。
表示前 个人分 颗糖的方案数,则有:
然后我就自信的交了一发,由于前面十分顺利,我甚至没发现复杂度是错的...
之后加了个前缀和,但是调了好久,最后才发现 有可能小于 ,警示后人。
14|0N Slimes
区间 模板题。
表示 合并到 的最小代价,枚举中间点 ,则有:
前缀和维护即可。
15|0*O Matching
第一道蓝题出现了!
应该是状压 模板题。经典写不出状压。
定义集合 ,当中只包含女人的编号,然后去枚举第 个男人和哪个女人匹配。
表示前 个男人与 中的女人的匹配方案数,则有:
然后将它变为一个 位的二进制数,如果右往左第 位为 ,就表示 有编号为 的女人,否则没有。
然后状压 即可。
16|0P Independent Set
简单树形 。
表示将 节点染成 号颜色的方案数。不能连续染 个黑,所以黑的状态只能由白来传递,而白可以由黑白传递,则有:
17|0Q Flowers
表示在满足条件下前 朵花能达到的权值最大值,则有:
然后树状数组维护 即可。
18|0*R Walk
表示 到 ,长度为 的条数。枚举中点 ,则有:
然后使用矩阵快速幂维护即可。
19|0*S Digit Sum
第一次做数位 。
表示当前枚举到从高位往低位数第 位,数字和取模后的余数为 时的方案数,其中 可以理解为一个布尔值, 表示没有到上限, 表示到了上限。
然后是一个数位 的板子,我特别讲一下这一行代码:
其中 是当前枚举位可选的最大值。
这里就是在枚举第 位,选择了 作为这位的数, 就是新的数字和。而后面的判断条件就是在看枚举到目前为止,该数是否还与 的前缀相同,是就说明到目前为止还是最大的,否则就不是。
20|0T Permutation
不会,先鸽着。
21|0U Grouping
范围识状压。
表示状态为 时的最大收益。那么我们可以枚举其子集 , 为其补集,则有:
22|0V Subtree
表示 号节点染黑后,其子树内黑点构成连通块的方案数,则有:
然后换根,则有:
然后有:
23|0W Intervals
24|0X Tower
好水的题,秒了。
看到题面就知道是背包,唯一的问题是怎么优化其复杂度。
如果将 放于 上,那么上面还能堆 的东西,反之则能堆 的东西,所以若有 ,则将第 个箱子放在第 个箱子下更优。
排序完再跑背包即可。
25|0Y Grid 2
26|0Z Frog 3
__EOF__

本文链接:https://www.cnblogs.com/yizhixiaoyun/p/17390790.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】