专栏文章
ARC128D
AT_arc128_d题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mipar8fb
- 此快照首次捕获于
- 2025/12/03 08:56 3 个月前
- 此快照最后确认于
- 2025/12/03 08:56 3 个月前
结论题。
题意是问有多少种保留位置合法,于是想到令 为以 作为最后一个保留位置的方案数,则转移方程形如 ,其中 为对于 ,仅保留 是否合法。
现在的重头戏就是探寻 的性质。
显然 时一定有解。除此之外当存在两个连续相等字母时无解。但是这是充要条件吗?可以轻易地想到
1010101 串,你找不出来一种方案。事实上,除了 101 字符串删中间就完了之后,一切恰好由两种字符串组成的串都是 1010101010 型,删掉一个位置之后就会出现相同相邻,无解。但是这是充要条件吗?
断言:当有至少 种字符时,一定有解。证明:考虑随便选择一个 使得 互不相等。如果 只有一个数的话,直接不断删左邻居(一定合法,因为如果左邻居与左左邻居相等,那么违反“相邻数不等”。由于 唯一,所以 一定不等于左邻居)然后不断删右邻居,最后一定为101,直接删中间即可。否则删除 即可转化为序列长度 的子问题。(不需要专门注意单一颜色,把其削到 次之后再转化为前述情况)。
观察到如果 违背“相邻不等,那么 违背相邻不等。如果 种类数至少为 ,那么 种类数至少为 。所以满足相邻不等,并且种类数至少为 的 是一个区间,可以前缀和区间求和。对于 以及 带来的
101 单独处理即可。双指针即可处理出 所在的区间。前缀和即可。时间复杂度 。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...