AtCoder 泛刷记录
简介
此文为本人泛刷 AtCoder 过程中遇到题目的简要题解,目的包括但不限于总结题目的思维链。
折叠的代码中有原题链接方便跳转。
正文
ARC058B
- 整个图明显可以划分为两个子问题(合法区域分割为上下两个矩形)
- 分割线作为边界,枚举点进入分割线的入口进行统计即可。
扩展:如果题目改为 禁入矩形区域 在中间(而不是固定在左下角),那就考虑反面,枚举第一次进入禁入区域的点进行统计。
展开
1 | |
ARC072D
定义
- 题目特征明示维护一条曲线,
轴显然是体积 ,注意到维护热量比温度自然,故 轴维护晚上能达到的最大热量 。 - 考虑把题目的操作对应到维护的曲线上。
- 假设某天的曲线为:

第二天加水时(这个状态是一个中间态,只是为了下一张图的阐述而服务):
第二天的曲线为:
- 可以发现当加入水温度(即斜率)比之前的低时,可以一直向后合并,这意味着合并后维护的曲线是一个上凸壳。
展开
1 | |
ABC389E
- 贪心取,每个产品价格是无穷序列:
,那便是从 个序列合并后的无穷升序序列 中取数并最大化个数。 - 最优策略肯定是
一个前缀。 - 从另一个角度看这个策略(即选取顺序)的特征发现:是依次把价格
的商品买空,直到边界,这支持二分。
展开
1 | |
ARC058C
- 正难则反,考虑对不合法(也就是不存在 Haiku)序列计数。
- 从范围容易想到 DP,进而想到 DP 可以被刻画为前缀
个元素中后缀不存在 Haiku。 - 这等价于后缀张成的所有可能值不同时存在
。 - 使用状压维护即可。
展开
1 | |
AtCoder 泛刷记录
https://tenshi0x0.github.io/2025/08/25/CP/AtCoder_sols/AtCoder_report/AtCoder_general_practice_report/