2026.8.10 模拟赛
https://oj.gxyzh.com/d/hzoj/contest/6a647b64ee9cc46434e795b0
| T1 | T2 | T3 | T4 | |
|---|---|---|---|---|
| 实际得分 | 100 | 0 | 20 | 0 |
| 期望得分 | 100 | 0 | 0 | 0 |
| 能力得分 | 100 | 100 | 30 | 20 |
爱丽丝的新运算
不难发现,将数字使用质因数分解形式表示出来,那么新运算就是作异或运算(要不然题目是什么).
转化一下,我们对于 \(n\) 个集合,选取若干个作对称差,求得出空集的方案数.
使用线性基是显然的,设线性基大小为 \(|S|\),那么最终答案为 \(2^{n-|S|}-1\).
注意到对于一个整数,大于 \(\sqrt{x}\) 的质因数至多有一个,因此插入线性基的复杂度为 \(\pi(\sqrt{n})^2\).
使用 bitset 优化即可.
爱丽丝的幻方
场上玩了 2.5h,未果.
场上思考:注意到最中心的点不会因为 3~6 操作而变化,考虑将最中心的点移至中心,之后就是 8 种情况的分讨.
但事实上上面是不正确的,因为移至中心这一步会有 3~6 的操作参与,而导致答案有细小误差.
考虑一件事情:对于三个不共线的点,即可确定一种变换.
因此使用一个 L 形记录一种状态,不难发现至多有 \(8n^2\) 种.
对于每一种变换,就是一种转移;我们所求的就是从一个状态使用若干步到另一个状态的最小次数.
使用 BFS 求出即可,时间复杂度为 \(O(n^2)\),理论常数为 \(48\).
爱丽丝斗恶龙
我们需要得到一种排列,使得每个位置左右两侧满足区间和 \(<p\) 的长度最短.
贪心地想,我们不妨让大的 \(s_i\) 靠近当前位置,这样一定是不劣的;进一步地,我们让最大值在当前位置.
剩下的我们有两种情况:
- 只阻挡一边:\(z\);
- 阻挡两边:\(x,y\);
其中 \(x,y,z\) 均表示左/右边的不满足的长度,钦定 \(x+y\) 最小,\(z\) 最小.
不难发现:\(z\le \min(x,y)\).
考虑对于一种情况:左侧的长度不够 \(x\),则不难发现,取第 1 种情况更优,因此可以直接取两种情况的 \(\max\).
考虑如何求出 \(x,y\),\(z\) 是容易的.
对 \(s\) 排序,对于一个前缀,我们希望将其分成两部分 \(s_1,s_2\),均满足 \(s_1,s_2\ge p\).
注意到 \(s_1+s_2\) 是定值 \(sum_i\),那么就是求满足 \(p\le s_1\le sum_i-p\) 的 \(s_1\) 是否存在.
这里可以使用 0-1 背包 DP,使用 bitset 优化即可.
时间复杂度为 \(O(\frac{n^2}{w})\).

浙公网安备 33010602011771号