专栏文章
雨森润奈
P4424题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mip02j89
- 此快照首次捕获于
- 2025/12/03 03:57 3 个月前
- 此快照最后确认于
- 2025/12/03 03:57 3 个月前
不需要卡常的 做法!
考虑容易发现与 和或 特别强而反过来则没有用,启发我们时光倒流,那么对于一个点,我们考虑他如果与 ,那么那些 点都是因为这次与操作才变为 ,而之前是什么我并不关心,设为任意位,反过来或 也是一样。
然后遇到了一个困难的问题就是如果遇到两种选择怎么搞,容易发现这样的话随便选一个,最后剩下的有用的数必然只有一种,考虑用任意位和确定位重新建立字符串,以确定位为 时为例。
容易发现如果我在这个位置选择或,相当于是让我的任意点集合与当前所指向的集合或在一起。
如果选择与要求我的任意点集合包含我按位取反后的集合,然后你发现按照这个思路,如果在这个位置选择或,我们必然会得到全集,后续怎么选都无所谓可以直接产生贡献。
于是我们能够确认我们每次选什么,得到了一个 的做法。
我们肯定不希望得到这个复杂度考虑优化一下后面的部分,容易发现如果把每个点后面第一个与他相同的元素位置记录下来,那么每次相当于所有点都往后取一次,把所有最大值保留并在那个位置贡献答案,然后一直做,如果一直维护这个肯定做不了,考虑这样的话意味着最终选取的点集合一定能用一个点替代,而这个长得有点像字典序的东西显然可以用字符串哈希维护。
这样的话我们就把后面变成了 ,前面因为形式混乱想不到什么十分优秀的合并方式,但是这个时候你前面直接写 他就直接通过了,有点牛
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...