2026省集游记
24 年在祈祷这辈子能去noip。25 年打了 50pts 的一坨。26年来了省集。
day 0
下午去机房的时候顺便去报道,领到了牌子和餐票。
晚上去打模拟赛,看了看一题不会。这啥啊?
颓了一晚上,睡觉。
day 1
爽爽七点起床。
模拟赛,发现有一个提交答案和一个交互,感觉会比较完蛋。
图灵机是什么啊?停机是什么啊?IOI 赛制是不是可以套数据啊()
确实花了10min套出来了。我居然拿到了100pts()
接下来几个题一直不会吧,交互题没看懂,去想了想 T3。打了个暴力。
void solve(){
ll minx = 4e18;
int op = read();
ans %= n;
if(op == 1){
int r = read();
r ^= ans;
for(int i = 1; i <= r; i++)
b[i] ^= 1;
// ans = 0;
}
else{
int l = read(), r = read();
l ^= ans, r ^= ans;
// for(int i = 1; i <= n; i++)
// cout << b[i] << " ";
for(int i = l; i <= r; i++){
for(int j = i + 1; j <= r; j++){
if(b[i] == b[j]){
minx = min(minx, abs(a[i] - a[j]));
}
}
}
if(minx == 4e18) minx = 0;
cout << minx << endl;
ans = minx;
}
}
真的很暴力吧。
中午去吃了食堂的饭,怎么这么难吃啊?上楼干完苦力去围观了 lyt 和 hsy 打篮球。我的体育技能为负数。然后颓了一中午吧。
下午去听课。我相信我还记得啥。
-
餐点好吃。
-
支配集。好文 我之前写过支配树状物来着,但是很明显我不会,而且这两个有区别。
具体来说,大概适用在区间内求点对计算贡献的时候可以用它。主要思想是只保留有效点对。
应该是只听懂了这个。
CF765F Souvenirs
晚自习看了这题,大概看懂了但不会写。
定义 \(i, j, k\),如果 \(a_i < a_j < a_k\),则 \((i, k)\) 的意义被 \((i, j)\) 掩盖。
考虑 \(a_i, a_k < a_j\)。
① \(a_i > a_k\)。则 \(|a_j - a_k| > |a_i - a_k|\),易得 \(|ai-ak|<1/2|ai-aj|\)
② \(ai<ak\)
则 \(|ai-aj|>|ai-ak|\),这里限制了一个下界,之后再出现 \(ai<ak\) 的情况可以类比①了。
每个 \((a[i],a[j])\) 的 pair 即对所有 \(l\) 在 \([1,i]\) 中,\(r\) 在 \([j,n]\) 中的询问,其答案对 \(|a[i]-a[j]|\) 取max。
发动一下雷霆眼力,这里看错了 \(l, r\)。注意一下。 -
KD-T。好文。这个东西好像已经被卡爆了,先放一放。
容斥,和线段树差不多,但是是维护矩形。后面忘了。 -
等价类分治。lyt经常读错。中间忘了,后面忘了。
晚上大致研究了一下支配集。
day 2
哈哈哈哈昨天讲的全忘了。
模拟赛省流:一题不会。 这都啥啊?
梦话:(l - r) / 2,排列数写成组合数。
我的排列数挂哪了?
我代码的 bug 比我的头发多。
5pts,没爆零(((
中午以一些人的名义去给另一些人写情书()愚人节还是太好玩了。
原来神秘嘉宾是王茂骅啊!
省队队长的脑子和我的脑子就是不一样吧,我听不懂。
大致梳理一下。
T1
可以将 key 看做 (,door 看做 )。感觉这样会好看很多。为什么我赛时没想到啊?
B 性质就很招笑了,但为什么我没打出来啊?
会得出一个形如 ()()()()...... 的东西,然后写排列数。
对于 A 性质,我们可以从原点开始画折线,左括号记为上升,有括号记为下降,可得在整个曲线当中最低点永远大于等于 \(0\)。相当于每个右括号都会被匹配。
此时结合暴力就可以拿到 \(60 - 80 pts\),但为什么我没拿到啊?
我的 OI 水平是倒数第一。
以下我都不会写了,尽力看懂一点。
接下来注意力一下随机游走。但我看不懂啊?总而言之应该是按照一个概率乱走。由此得这最高点和最低点不会差太多,是 \(O(\sqrt n)\) 的。
然后我就不太懂了,先写这里看看能不能懂吧。
将询问离线并挂在最低点处,处理时枚举最低点,只需预处理往两边最远拓展的长度即可。相等前缀和位置可以使用微调笛卡尔树实现。期望时间复杂度 \(O(n \sqrt n + q)\),期望得分 \(90 - 95pts\)。
然后是大力卡常优化,乘法可以转换为预处理离散对数,查询是用加法替代取模。加上快读,求区间最小值可以笛卡尔树 + 树剖。

我现在甚至懒得打字了。
综上,能写 \(60-80pts\),剩下的不会写,只能尽力看懂吧。改天学学笛卡尔树。
T2
想到了一点但不多。
长得像个图,考虑连边。只关心 \(a_{i, j}\) 是否等于 \(0\),所以暴力连边可以打 10 pts。
为什么我打了没分啊?
我们猜测当 \(r\) 足够大时存在循环节。这我也猜出来了但不会写啊?
注意到 𝑥 如果能走回自己,则一定存在一个 ≤ 𝑛 的循环节。
笑死我了我们开始霍霍我们学校课件网址了。
day 3
白天模拟赛怎么还是啥也不会啊。打了 10pts 的特殊性质。怎么有一车人过了 T1T2 啊?怎么还有人过了 T3 啊?
T1
是一个线性基状物。线性基是啥啊不会,晚上搞搞。
补一下。
线性基模版题,线性基是一种擅长处理异或问题的数据结构。
前置知识:线性空间。
坏了我咋这个也不会。
-
线性基能干啥:
- 快速查询一个数是否可以被一堆数异或出来。
- 快速查询一堆数可以异或出来的最大/最小值。
- 快速查询一堆数可以异或出来的第k大值。
-
线性基有啥性质:
- 原数列里的任何一个数都可以通过线性基里的数异或表示出来。
- 线性基里任意一个子集的异或和都不为 \(0\)。
- 一个数列可能有多个线性基,但是线性基里数的数量一定唯一,而且是满足性质一的基础上最少的
-
原理 & 实现
::::info[约定]{open}
\(p_i\) 表示原序列的线性基数组。
::::\(Step\ 1\) 令插入的数为 \(x\),最高位是 \(i\)。还是因为不会排版所以不放代码了.
- 若线性基的第 \(i\) 位为 \(0\),则直接在该位插入 \(x\),退出;
- 若线性基的第 \(i\) 位已经有值 \(a_i\),则 \(x = x \oplus a_i\)。
原理:如果 \(x = 0\) 说明 \(x\) 能被数组内已有内容覆盖,属于“无用信息”。判断同理
\(Step\ 2\) 查询最小/大值。
这个应该比较简单了吧,考虑到插入的步骤,我们只需要输出线性基的最小值就好了。
\(Step\ 3\) 查询第 \(k\) 小值。
进一步简化。一个线性基肯定能被表示为若干个形如 \(2 ^ i\) 的数(这里指在异或逻辑运算下它们的作用等价于 \(2 ^ i\))

还是懒得写()
过了过了过了,回家研究 T1。
T2
如果不在主副对角线,那么四条边是独立的。最多代价 \(c \times m\)。折线高度?观察性质?
T3
按照 \(b_i\) 从大到小排序。dp 状物。
听懂了 0 个题。怎么花了不到 1h 就讲完了啊?金牌是这样的吗?
回去研究一下 T1T2,T3打摆了。
CF1988F Heartbeat 能从中间剪开,然后是啥,不知道。
AT_arc176_f 把能变成任意颜色的看作空位。题解。
day 4
我怎么状态这么差啊?开赛前 1h 啥也想不到。
最终获得了 0pts 的高分!
下午去拍了合影。
T1
数据结构。
取对数。?原根?
补一下。知识点:离散对数 阶和原根
原根将是我的梦魇(指五级!
不会证明。作为 OIer 我们不用会证明。
对于阶:
性质 \(1\):设 \(m\in\mathbf{N}^{*}\),\(a,b\in\mathbf{Z}\),\(\gcd(a,m)=\gcd(b,m)=1\),则
的充分必要条件是 \(\gcd(\delta_m(a),\delta_m(b))=1\)。
性质 \(2\):设 \(k \in \mathbf{N}\),\(m\in \mathbf{N}^{*}\),\(a\in\mathbf{Z}\),\(\gcd(a,m)=1\),则
对于原根:
定义:
定理 \(1\):对于奇素数 \(p\),\(p\) 有原根。
定理 \(2\):对于奇素数 \(p\),\(\alpha \in \mathbf{N}^{*}\),\(p^\alpha\) 有原根。
定理 \(3\):对于奇素数 \(p\),\(\alpha\in\mathbf{N}^{*}\),\(2p^{\alpha}\) 的原根存在。
定理 \(4\):对于 \(m\notin\{1,2,4\}\),且不存在奇素数 \(p\) 及 \(\alpha \in \mathbf{N}^{*}\) 使得 \(m\in\{p^{\alpha},2p^{\alpha}\}\),则对任意 \(a\in\mathbf{Z}\),\(\gcd(a,m)=1\),都有 \(\delta_m(a)<\varphi(m)\),即模 \(m\) 的原根不存在。
以上摘自题解和 OI wiki。有错去怪题解。 但我还是不太会啊?
对于模板题,我们可以预处理出 \(\varphi(m)\) 的所有质因数,然后快速幂。
回家写代码,再跟 AI 学一学吧。
我真想搞 OI。
T2
容斥,把大于变成小于。反演。
T3
字典序单调不降。从 0 和 1 之间断开,然后分治。
等价类,记长度、个数、末尾,再几个0/1表示前面是否出现。dp。
杂题
AT_arc184_b 1、质数选。然后根据 \(x,2x,3x\) 进行一个分组。每组有 \(\log\) 个数。
\(x \times 2^i \times 3^j\)。

P3577 最小支配集。
AT_arc175_e
LCT,退流是啥?拟阵 虚树。
qoj.ac 9491
懒得记了,看课件吧。这些我基本都没咋听懂(
day 5
怎么过去一大半了啊!
别样的原题大赛。
开 T1 发现自己不会打全排列()后来胡出来了但怎么 RE 了啊?花了1.5h不回调跑路。
T2 开题没看懂,读了几遍发现前两个特殊性质非常可做。写了1.5h 发现不会写()然后又把 subtask3 想出来了,但我还是不会打啊!
我好难受啊我的码力你怎么能这样对我。
能不能赐予我想到什么思路就能写出什么代码的能力。
再赐予我看到题想出正确思路的能力我就进队了(
我觉得是不是该反思一下了?
别拿初一女生当借口了我求你了,你今年真的能翻盘吗?再菜还能连续两场爆零吗?你 T1 这么明显为什么想不到啊?T2 25pts 为什么不会打啊?
你是不是做题的时候应该认真点了?是不是需要加训加训加训了?
T1
找后缀最大值。
T2
最小生成树跑 \(q = 0\),然后对于 \(k\) 再跑。
最后为什么能倒着跑?
T3
好像整体都没听懂。把 T1T2 搞明白了学这个。
dp 选讲
AT_arc193_c 好聪明啊可以时光倒流(第一次删十字,随后指定一些方格然后继续删(有一行、一列或十字),把矩阵删空合法)。但不会转移。
怎么这么聪明啊???
容斥,咋容斥?
2023 ICPC Asia East Continent Final Contest A.DFS Order 4
打 abc打abc打abc
day 6
咋 day 6 了?
T1/P11089
字典树。?
不是很会,晚上研究一下。
T3/P12608
分治。怎么还要hash。
怎么啥也没听懂

浙公网安备 33010602011771号