专栏文章

题解:P12521 [Aboi Round 1] ATRI

P12521题解参与者 4已保存评论 5

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
5 条
当前快照
1 份
快照标识符
@mip9cqts
此快照首次捕获于
2025/12/03 08:17
3 个月前
此快照最后确认于
2025/12/03 08:17
3 个月前
查看原文

前言

上语文课的时候想到的 idea。
好像被爆标了,但是因为时限 5s 和正解 O(n2ω)\mathcal{O}(\frac{n^2}{\omega}) 的复杂度还是评了蓝。

题意

合并果子的异或版本,输出所有可能值。

Subtask 1

爆搜,随便怎么搜都行。

Subtask 2

从这里开始就要推性质了。
首先我们知道一个数被异或了偶数次就会变成 00,只有异或奇数次才会参与贡献计算,所以我们考虑会有哪些点留下。
我们将合并的过程化成二叉树的性质,具体的,是一棵有 nn 个叶子,n1n-1 个非叶子节点的二叉树,每一个非叶子节点都对应了一次合并,那么会产生贡献的就是那些深度为偶数的点。

性质

现在直接给出结论,在所有情况中最后参与贡献的可能点数在模 33 意义下同余。

证明

考虑数学归纳,在 n5n \le 5 时都成立。
假设 nn 情况成立,考虑 n+1n+1,实际就是把一个叶子节点分裂成两个,如果这个点是偶深度节点,那么分裂就会失去一个偶深度节点,否则多产生两个偶深度节点,所有数要么 1-1,要么 +2+2,最后一定在模 33 意义下同余。
于是搜索选哪些点就行了。

Subtask 3

记录 fi,j,kf_{i,j,k} 表示前 ii 个数选了 jj 个,异或值为 kk 是否可行,O(n2V)O(n^2 V) 大力转移即可。

Subtask 4,5

有两个优化思路,一个是压位,一个是优化状态。
先讲状态,我们可以将 ii 这一位滚动掉,jj 这一位记录选的个数模 33 的值,时间复杂度变为 O(nV)O(nV)
压位也很简单,将 kk 这一位每 6464 位分个块,全局下标异或可以转化为块间交换,块内位运算解决,全局或也很好实现。
使用一个优化可以通过 Subtask 4,全部使用可以通过此题。

评论

5 条评论,欢迎与作者交流。

正在加载评论...