集训队互测 2015

Robot

李超线段树模板题。

https://uoj.ac/submission/624700

最大异或和

很厉害的题。

考虑对于一个集合里的两个数 \(x,y\),如果把 \(x\) 变成 \(x\oplus y\),那么这个集合的线性基所能构成的数的集合不变。

于是可以维护异或差分序列的线性基。操作 1 就变成单点修改,操作 2 变成区间修改和单点修改。而修改可以看成删除再加入,所以我们可以每次暴力 \(\mathcal{O}(n)\) 找到所有要修改的位置。这是因为加入线性基的总次数不会超过 \(\mathcal{O}(n+q)\)

现在我们要维护一个支持删除的线性基。题目并没有要求强制在线,所以可以离线并记录下每个插入的元素的删除时间。对于插入的某个元素 \(x\),它会异或上当前线性基基底的若干个数。如果线性基基底所对应的元素先于 \(x\) 删除,就不得不消去基底对 \(x\) 的影响,因而十分麻烦;反之,则直接删去 \(x\) 即可。于是,当 \(x\) 的删除时间晚于它将要异或上的基底时,不妨直接交换 \(x\) 与基底,并继续插入的流程。

时间复杂度 \(\mathcal{O}(\frac{(n+m)mq}{w})\)

https://uoj.ac/submission/624956

上帝之手

很厉害的题。

把题面中给的式子拆开:\(x_i=\min(x_{i-1}+d_i,l_i)=\min(x_{i-2}+d_{i-1}+d_i,l_{i-1}+d_i,l_i)=\cdots\)

所以可以得到:\(x_b=\min(x_{c-1}+d_c+d_{c+1}+\dots+d_b,l_{c-1}+d_c+d_{c+1}+\dots+d_b,l_c+d_{c+1}+\dots+d_b,\dots,l_b)\)

显然这个是可以递推的。于是可以有 \(\mathcal{O}(nm\log n)\) 的做法。

接下来进一步对每个操作进行分析。

先求出 \(d\) 的前缀和 \(s\),即 \(s_i=\sum\limits_{j=1}^i d_j\)。那么 \(x_b\) 就可以化简成 \(\min(x_{c-1}+s_b-s_{c-1},l_{c-1}+s_b-s_{c-1},l_c+s_b-s_c,\dots,l_b+s_b-s_b)\)

因为第一种操作中 \(x_{c-1}=l_{c-1}\),所以括号里的第一个值可以忽略。

不难发现,如果我们把 \(c\)\(b\) 扫描到 \(a\),那么 \(x_b\) 的值是单调不升的。所以我们只需要求当 \(c=b-k+1\)\(x_b\) 的取值。可以建立一棵线段树,存储每个对应区间内 \(l_{i-1}-s_{i-1}\) 的最小值。那么第一问的答案就是 \([b-k+1,b+1]\) 内的最小值。

对于第二问,我们把括号内第一个值和其它值分开来看。设 \(f(c)\) 为后面若干项的最小值,\(g(c)\)\(x_0-s_{c-1}\),则 \(f(c)\) 单调不降,\(g(c)\) 单调不升。那么 \(x_b\) 的最大值一定会在 \(f\)\(g\) 的交点附近取到。可以二分 + 线段树求出这个交点位置。

对于第三问,实际上就是求 \(l_i+s_b-s_i\)\(\min\limits_{j=i+1}^b(l_j+s_b-s_j)\) 小的 \(i\) 的个数,也就是区间单调栈大小。这个可以类似楼房重建的套路,具体见 https://qoj.ac/download.php?type=solution&id=4258。勘误:最后一页中 \(step_o-step_{left_o}\) 应为 \(step_o-step_{right_o}\)

https://uoj.ac/submission/624806

胡策的统计

只会 60pts 的暴力状压 + 容斥。

https://www.cnblogs.com/C202044zxy/p/16448895.html

胡策的数列

因为这个满足条件的 \(a\) 序列是唯一的。所以我们可以猜一猜它到底是个啥。

打表可知它是一个以 \(\frac{2}{5}\) 为公比的等比数列。证明可见 https://qoj.ac/download.php?type=solution&id=4260

所以问题就变成了区间覆盖成一个等比数列、区间求和。

显然这个可以动态开点线段树。维护一下区间和,懒标记的形式相当于记录第一项,因为所有等比数列的公比都是一样的。

卡空间很难蚌。

https://uoj.ac/submission/624998

胡策的小树

https://yhx-12243.github.io/OI-transit/records/lydsy3989%3Buoj96.html

https://www.cnblogs.com/yaoxi-std/p/16289577.html

https://uoj.ac/submission/625497

posted @ 2023-06-09 09:37  csxsi  阅读(8)  评论(0)    收藏  举报