专栏文章
AT_arc203_d の题解
AT_arc203_d题解参与者 3已保存评论 2
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mioir5hp
- 此快照首次捕获于
- 2025/12/02 19:53 3 个月前
- 此快照最后确认于
- 2025/12/02 19:53 3 个月前
AT_arc203_d の题解
死磕 C 然后没想到有长为 的路径于是挂了。
题意
给定一个由 和 组成的长度为 的序列 ,处理 次查询。每次查询翻转 中一个位置的数值。每次查询后,求满足条件的最小序列 的长度:通过多次在 的相邻元素间插入它们的异或结果,最终能得到当前的 序列。
分析
考虑倒着删数。
首先特判掉全为 的情况,然后就有以下情况:
- 很显然前后至少有一个 就可以删掉一个 ;
- 若干个 中间的显然可以删;
- 前后至少有一个 就可以删掉一个 和一个 。
实现
我们这样定义 的贡献(与上面一一对应):
为什么 的贡献是 ,因为后面那个 并不会经过情况一造成贡献,于是就加进 的贡献。
注意到 的情况并没有考虑到只有一个 ,所以如果答案减成了 就要输出 。
code
相关推荐
评论
共 2 条评论,欢迎与作者交流。
正在加载评论...