专栏文章
UNR 2025 D2T1
个人记录参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mioybeez
- 此快照首次捕获于
- 2025/12/03 03:08 3 个月前
- 此快照最后确认于
- 2025/12/03 03:08 3 个月前
有点 ATCoder 劲的计数题。快速通过这个题、给 T2 留出时间是在 Day 2 取得高分的基石。
首先尝试观察合法解的结构。可以把 移项,变成 且 。下面记 。假设 ,那么 的一个必要条件是 。我们可以感受到满足 的位置是关键的,考虑先取出这些位置,分析剩下空位的结构。
考察相邻两个关键位置 和 。显然不能有 ,否则二元组 不合法。设 ,那么中间这段区间被分成了两段:左边的 必须满足 ,而右边的 必须满足 。画图容易发现这个条件是充要的。因此我们发现一个性质:填到关键位置 的时候,除了 本身,用的都是 的数。这个性质给了我们 dp 计数的机会。
考虑设 表示目前已经走到 ,填完了 的所有 ,合法的方案数是多少。转移时枚举下一个关键位置 ,以及 。分别计算两个区间的方案数:第一个区间相当于把 的未填数(这里由于 填的都是 的,消耗掉的数量可以 前缀和计算),第二个区间相当于从小到大确定每个数的填法,最后乘起来。
暴力做时间复杂度 不等。优化的方法也很容易:考虑扫描线,扫描 的同时维护所有决策的系数之和,系数变化无非是乘上一个数,清零,或者加入一个数。直接 维护变化就行了,复杂度 。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...