IOI2025 集训队互测做题记录
场次 | \(\quad\qquad\text{A}\qquad\quad\) | 完成情况 | \(\quad\qquad\text{B}\qquad\quad\) | 完成情况 | \(\quad\qquad\text{C}\qquad\quad\) | 完成情况 |
---|---|---|---|---|---|---|
\(\text{Round 1}\) | 基础 ABC 练习题 | \(\color{green}\checkmark\) | 基础 01? 练习题 | \(\color{green}\checkmark\) | 基础 01 练习题 | |
\(\text{Round 2}\) | 生命的循环 | \(\color{green}\checkmark\) | 树上简单求和 | \(\color{green}\checkmark\) | 路径计数 | |
\(\text{Round 3}\) | 环上排序信息最优分割 | 研心 | 无限地狱 | |||
\(\text{Round 4}\) | Désive | 分道扬镳 | 观虫我 | |||
\(\text{Round 5}\) | 长野原龙势流星群 | \(\color{green}\checkmark\) | Classical Counting Problem | 运筹帷幄 | ||
\(\text{Round 6}\) | 树数叔术 | \(\color{green}\checkmark\) | 欧伊昔 | 人间应又雪 | ||
\(\text{Round 7}\) | Cyberangel | 新生舞会 | PM 大师 | |||
\(\text{Round 8}\) | 熟练 | 皮鞋的多项式 | 幽默还是夢 | |||
\(\text{Round 9}\) | 游戏 | 木桶效应 | 月亮的背面是粉红色的 | |||
\(\text{Round 10}\) | 计算几何 | 分治 | 骨牌覆盖 | |||
\(\text{Round 11}\) | 联通块 | 轮盘赌游戏 | 序列 | \(\color{green}\checkmark\) | ||
\(\text{Round 12}\) | (LIS, LDS) - Coordinates | 签到题 | S>a<M | |||
\(\text{Round 13}\) | 线段树与区间加 | 字符串 | 格雷码 | |||
\(\text{Round 14}\) | Two permutations | 冲刺 | 串联 | |||
\(\text{Round 15}\) | 药水 | 字符游戏 | \(\color{green}\checkmark\) | 子集和 | ||
\(\text{Round 16}\) | 数位 DP | 数据结构 | \(\color{green}\checkmark\) | problem | ||
\(\text{Round 17}\) | 链覆盖 | 又一个欧拉数问题 |
\(\color{blue}\mathbf{Round\;1}\)
基础 ABC 练习题 - 方心童
我们观察到对于一个 \(\texttt{A,B,C}\) 各出现 \(n\) 次的字符串 \(s\),其被划分出的 \(\texttt{ABC}\) 个数至少为 \(A=\max\limits_{1\le i\le 3n}a_i-c_i\),同理,\(\texttt{BCA}\) 个数至少为 \(B=\max\limits_{1\le i\le 3n}b_i-a_i\),\(\texttt{CAB}\) 个数至少为 \(C=\max\limits_{1\le i\le 3n}c_i-b_i\),故对于给定的 \(x,y,n-x-y\),\(s\) 存在划分方案的必要条件为 \(x\ge A,y\ge B,n-x-y\ge C,A+B+C\le n\),其中 \(a_i,b_i,c_i\) 分别表示前 \(i\) 个字母中 \(\texttt{A/B/C}\) 的出现次数。
可以使用归纳法证明这也是充分的,证明在此略去。
故可以观察到当 \(s\) 确定时,符合条件的 \((x,y)\) 在平面直角坐标系上构成了一个斜三角形或空集,我们所求即为 \(s\) 的个数使得此区域与区域 \(\{(x,y)\mid x\in S_1,y\in S_2\}\) 有交,由于该区域没有空洞,所以可以使用二维容斥做到 \(\mathcal{O}(n^5)\),此容斥也可以用钦定斜三角形内最靠近原点的点做到同样的复杂度,但是具有更小的常数。
基础 01? 练习题 - 郑钧
论文题。题解中给出了如下结论:
- 一个字符串 \(S(|S|>1)\) 是 TM 序列的子串当且仅当存在 \(S=A+B\) 使得 \(\operatorname{rev}(A),B\) 均为 TM 序列或其按位 flip 后的串的前缀(下称这种串为 TM 串)。
- 若一个字符串和其反串均为 TM 串,则该字符串长度为 \(2\) 的非负整数次次幂。
推论:若 \(S=A+BC=AB+C,(|A|,|B|,|C|\ge1)\) 且 \(\operatorname{rev}(A),BC,\operatorname{rev}(AB),C\) 均为 TM 串,则 \(B\) 长度为 \(2\) 的非负整数次次幂。 - 一个字符串 \(S\) 的拆分方式 \(S=A+B\),\(\operatorname{rev}(A),B\) 均为 TM 串的方案数不超过 \(2\)。
- \(S=A+BC=AB+C,(|A|,|B|,|C|\ge 1)\) 且两种拆分方式均合法当且仅当 \(|A|\le|B|,|C|\le|B|\) 且 \(\operatorname{rev}(AB),BC\) 均为 TM 串。
证明可参见原文,在此略去。故可对合法的拆分方式计数并减去情况 \(4\),这样需要考虑的串的个数是 \(\mathcal{O}(n\log n)\) 的,结合上简单计数原理并使用线段树维护历史和可简单处理区间询问,总时间复杂度为 \(\mathcal{O}(n\log^2n+q\log n)\)。
基础 01 练习题 - 刘海峰
咕。
\(\color{blue}\mathbf{Round\;2}\)
生命的循环 - 杨鑫和
使用强连通分量缩点,容易将原图转化为一张 DAG 及若干个自环,具体而言,一个点有自环当且仅当其边数不为 \(0\),其长度为所有简单环的 \(\gcd\),可以轻易计算。而对于每个 SCC,任意选一个代表点,则 DAG 上的每条边的端点由双向可达性均可以平移到其上。
此时,路径可以被拆成若干条 DAG 边和若干个自环,当不考虑自环时,路径数有限,对于这样的每条路径,其可能取到的路径的长度都位于一个等差数列上(其中首项为边权和,公差为所有自环的权值的最大公因数),故其覆盖了一个剩余类。
在 \(\mathcal{O}((n+m)B^2)\) 预处理后,所求即为若干个剩余类的并的最小循环节,类似 Traffic Blights 一题,考虑枚举 \(x\bmod(2^3\times3^2\times5\times7)\) 的值,则此时这些剩余类的模数均为质数的次幂,由于不同质数之间是独立的,所以可以在 \(\mathcal{O}(VB^2)(V=2^3\times3^2\times5\times7=2520)\) 的复杂度内简单计算,总时间复杂度 \(\mathcal{O}((n+m+V)B^2)\)。
树上简单求和 - 肖岱恩
树分块或对括号序列分块做到 \(\mathcal{O}((n+q)\sqrt{n})\),注意算法及实现常数。
路径计数 - 周桓毅
咕。
\(\color{blue}\mathbf{Round\;3}\)
环上排序信息最优分割 - 仲煦北
咕。
研心 - 李静榕
咕。
无限地狱 - 陈旭磊
咕。
\(\color{blue}\mathbf{Round\;4}\)
Désive - 陈诺
咕。
分道扬镳 - 葛致远
咕。
观虫我 - 叶李蹊
咕。
\(\color{blue}\mathbf{Round\;5}\)
长野原龙势流星群 - 孙培轩
考虑二分答案 \(w\),那么一个点的 dp 值为 \(f_x=a_x-w+\sum\limits_{v\in\text{son}(x)}\max(f_v,0)\)。注意到二分答案的一步是没有用的,可以转化从大到小扫描 \(w\),那么 \(f_x\) 和 \(0\) 的大小关系只会变化 \(1\) 次。一种理解方式按照当前答案从大到小枚举节点,如果合并至父节点可以使父节点答案更优就合并,由二分过程可以证明正确性,用堆和并查集维护即可做到 \(\mathcal{O}(n\log n)\)。
Classical Counting Problem - 翟鹏昊
咕。
运筹帷幄 - 赵海鲲
咕。