NOIP 模拟赛日志

· · 个人记录

没有把 CSP 模拟赛算上。

2024

2024.10.11

T1:数据结构,标程似乎成了理论最劣。

T2:结论题,没有结论做不了。

T3:罕见的网络流。

T4:数学诈骗。

比较幽默的是 T4 订正的时候一直错两个点,遂崩,放弃。

2024.10.17

T1:拓扑排序。

T2:状压 dp,可惜赛时没有想出来。

T3:点分治套点分树,不会点分树,逃了。

T4:扫描线与大数据结构,不像是现在我能会的。

2024.10.21

虽然说是 MX 的 CSP-S 模拟,但个人认为有 NOIP 难度,便放上来了。

T1:线段树二分。

T2:博弈论+dp。

T3:博弈论+线段树二分。

T4:圆方树。

线段树二分和博弈论出现的好频繁(

2024.10.22

T1:非常高明的树形 dp。

T2:字符串+dp。

T3:数学题。

T4:矩阵快速幂优化神秘 dp。

2024.10.23

T1:分讨 dp。

T2:极其高深的数学题。

T3:巧妙的图论+贪心,没错你想到了 dijkstra。

T4:貌似是虚树+主席树,大数据结构就对了。

2024.11.2

T1:简单字符串。

T2:dp 及优化。

T3:数学+线段树。

T4:数学题。

2024.11.6

什么 Ynoi 配图。

T1:那肯定是暴力 FWT 了,怎么可能是春氮结论呢。

T2:神秘贪心。

T3:折半等优化搜索。

T4:超级数学推式子。

2024.11.7

T1:简单图论最短路。

T2:高明的字符串转化区间 dp。

T3:神秘 dp 或多项式。

T4:KD 树套树,根号重构。

T1 死因:在稠密图时认为 bfs 复杂度是 O(n)

唐。

2024.11.9

T1:简单观察性质+LIS。

T2:有点 ad-hoc 的味道,分析性质推式子吧。

T3:~怎么能不是贪心呢~,dp 及状态优化。

T4:又双叒叕是树上数据结构。

再一次有力证明了 ty 数据是不卡贪心的。

你说上一次是什么时候?当然是这个 。

2024.11.12

cp 风评被害。

T1:“计算几何”。

T2:z 函数。

T3:摩尔投票。

T4:点分治。

一道不会,废。

2024.11.13

T1:数学题。

T2:简单优化搜索。

T3:包装二维数点。

T4:dp 或容斥。

2024.11.15

T1:数位 dp 板子。

T2:非常好的分类讨论,使我怒调一小时。

T3:观察性质+线段树维护。

T4:反悔贪心或分治加闵可夫斯基和优化 dp——不会。

2024.11.16

货真价实的 NOI 模拟赛。

T1:最小费用最大流。

T2:CDQ 分治。

T3:神秘线性代数,不会。

T4:double 反悔贪心或分治加闵可夫斯基和优化 dp。

2024.11.19

T1:阿狸和桃子的游戏类“策略+差值”的套路。

T2:完美原题,排列置换 dp。

T3:基环树+容斥数学。

T4:逆天分讨,使标程 400 多行。

真的几乎一个大样例不给,唯一给的还是部分分的数据范围,唐诗。

2024.11.20

T1:卡常图论。

T2:签到贪心。

T3:点分治/dsu on tree+01trie。

T4:分治+数据结构。

2024.11.21

T1:Kruskal 重构树+并查集。

T2:逆天变进制数诈骗。

T3:排列变进制数的 trick,参见火星人题解。

T4:分块。

2024.11.23

T1:唐诗构造。

T2:并查集+dp。

T3:容斥组合数学。

T4:数据结构+字符串。

2024.11.26

T1:煎蛋容斥。

T2:分讨模拟。

T3:高级一点的树上背包。

T4:貌似是复杂的性质题。

2024.11.27

T1:01trie。

T2:边双缩点+树形 dp。

T3:组合数学 dp 推式子等。

T4:不知道,还没改。

2024.11.28

T1:神秘结论+逆序对。

T2:缺一分治/最短路树跑最小环。

T3:过于神秘的结论+dp。

T4:又双叒叕是树上数据结构。

2025

2025.10.1

T1:不难发现 dfs 生成树与 bfs 生成树满足题意。

T2:极致神秘,观察性质题,发现操作数量可以通过构造取到下界,于是直接乘法原理。

T3:即求虚树大小,有个简单结论是根据 dfs 序排序后算相邻距离和,于是可以用 set 维护 dfs 序,做到 O(\log) 加点。但是过不去。发现 set 的用处是求前驱后继,而用链表可以 O(1) 做到删除+求前驱/后继,于是可以使用不带加的回滚莫队。

T4:有意思的数论题。首先可以把模数因式分解,然后分别对 p^e 做,因为可以看做 CRT。然后组合数学求。

2025.10.3

T1:\gcd 经典容斥。

T2:类卡特兰数,考虑在第一次越过限制时翻转路径容斥。

T3:神经暴力题。

T4:对于每个质数打不合法的 tag,然后即求区间内 tag 合为 0 的数量,可以线段树维护最小值的数量。

2025.10.7

T1:困难。发现每次只需要操作离中心最近的两个数,然后直接排序后判断。

T2:神秘棋类 dp。

T3:把图上问题转树上后贪心跑欧拉回路。

T4:树套树维护树上路径信息,纯暴力数据结构。

2025.10.8

T1:枚举正负后贪心。

T2:神秘棋类题,tarjan 跑割点。

T3:根据答案出题的无聊数据结构。

T4:第二类斯特林数容斥计数。

2025.10.11

T1:观察性质+简单数数。

T2:观察性质+简单数数。

T3:依然经典 \gcd 容斥+打表。

T4:使用可持久化线段树维护操作序列。

2025.10.14

T1:简单转换为本质不同子序列计数。

T2:板子数位 dp 套个矩阵。

T3:神奇 dp 题。发现高位的进位对数位几乎不会有什么影响,只有每次加 popcount 时多加几位,于是可以记第一次进位到 2^i,每次额外加 j,初始数为 k 所需的步数,然后 i 小时暴力即可。

T4:神奇 dp 题。

2025.10.15

T1:简单期望。但是需要注意一个套路:0 没有逆元,可以把数表示成 x\times 0^y

T2:有点意思的线段树题,把在 n,m 里各选 k 个转换为选 n+m 里选 n 个。

T3:线段树合并优化树上 dp。

T4:不会有人真去看 T4 了吧。但完全就是简单矩阵题,题意写成一坨了,赛时改过题意还是错,出题人太良心了。

2025.10.18

T1:发现旋转操作非常神秘,需要做的次数很少,进一步发现只用做不超过一次,然后贪心把 1 扔后面,用二分哈希比较字典序。

T2:简单倍增。

T3:考虑把图中的连边扔到线段树上,然后根据修改区间动态开点,省略掉无用边后暴力并查集维护。

T4:经典排序,二分阈值转 01,考虑 0 的位置如何变动,利用线段树维护变动即可。

2025.10.21

神秘数论场。

T1:唐背包,唐出题人。

T2:有点意思的期望,结合一些莫反数论。

T3:唐 fib,出题人能不能放过斐波那契数列,唐筛子。

T4:神秘剩余系数论套个数据结构,有点意思。

2025.10.22

T1:签。

T2:神秘构造,在图上找性质。

T3:折半套路。

T4:神秘区 d。

会的不是特别多,不写太详细了。

2025.10.25

T1:签到树 dp。

T2:别样 2^w 体积的 01 背包,考虑从小往大合并,由于修改只会加一不会影响大小关系,直接加就是对的。

T3:第一次知道 FWT 以任意顺序合并都是对的,神奇。从上往下 FWT,模拟线段树二分。这个交互形式确实很神秘。

T4:简单线段树合并,T4 最简单的一集。

2025.10.28

T1:冒泡排序猜结论。

T2:考虑给每个数分配系数后贪心,用对顶堆维护变化。

T3:神秘结论题,通过结论把 n^2 次背包直接降为 1 次。

T4:神秘构造题,但是能和 dp 结合确实有意思。

2025.10.29

T1:这题真不简单吧。发现段独立,直接每段求方案后乘起来。

T2:拿些数据结构维护数据变化,挺无聊的。

T3:通过 kruskal 过程判断路径能否出现在最小生成树上(这个挺受用的),然后套个点分治。

T4:发现暴力维护连续段复杂度是对的,有点意思。

2025.11.4

T1:考虑 dijkstra 的过程,每次并入 dis 最小的那一批点,然后搜索。

T2:找到两个合法的条件,发现可以把一个数的贡献刻画成区间。

T3:对着 Hall 定理状压,感觉非常厉害。

T4:达芬分讨。

2025.11.5

T1:发现输赢状态和最小值数量有关,然后分讨一下等差数列求和。

T2:发现答案很像贝尔数,转第二类斯特林数后容斥,然后就是推式子。

T3,4 太困难了,不会啊。

2025.11.7

T1:直接快速幂。

T2:蠢爆了的一个题,\prod(1-p)=e^{\sum \ln(1-p)},然后泰勒展开 \ln(1-p) 暴力维护前几项。然而题解做法精度并不对,当 p 比较大时需要特别维护。

T3:考虑最后一次涂色,确定了后就可以把行列拆开。考虑涂色的时候,每次删掉所有同行/列同色的情况,然后就不会算重。每次钦定一个子集,推一下容斥系数就能 dp 了,然后前缀和优化一下就是 O(n^3)

T4:考虑证明答案可以取到下界 \max h+\lceil \dfrac{c_h}{k}\rceil(表示深度大于 h 的节点个数),然后可以求出凸包斜率优化。

2025.11.8

T1:拆每个人的贡献,发现 dp 时记有多少个人比他小即可。

T2:神秘 ad-hoc,考虑哪行必须选,如果没有必须选就随便选,根据题目限制这是对的。

T3:分块,每块维护关于 tag 的一次函数,建凸包,查询在凸包上二分。

T4:压缩 DFA,感觉很厉害。

2025.11.11

T1:田忌赛马,发现答案连续,二分左右端点即可。

T2:各种方法构造,好玩。

T3:看出答案,然后对着式子数位 dp。

T4:很厉害的数据结构优化 dp。

2025.11.12

T1:唐。

T2:考虑选择排序,每次换一个上来。

T3:是没见过的 trick。考虑建出点权多叉重构树,那么最值在端点上当且仅当两点在树上是祖孙关系。然后在两棵树上跑,容斥一下就做完了。建树可以倒着跑并查集合并。

T4:不会。

2025.11.14

T1:神秘结论 \dfrac{n^2}{2}

T2:You have no egg!,可以交换答案与状态 dp。空间开 8M 不知道何意味。

T3:蛇题。注意到存在三叉点是必要的,然后每次贪心挪过去。

T4:可以只关注小质数,大质数随意容斥,然后用各种东西压状态。

2025.11.15

这一场怎么这么蠢。

T1:枚举重叠部分做三次 bfs。

T2:蠢爆了,用 n(n-1)! 拼成一个 n!

T3:依然蠢爆了。发现 \gcd 是假的,枚举所有因数求最值就是对的。然后分块搞一下,把所有块内修改都预处理就行。

T4:依然蠢爆了。发现可以每个位置独立考虑,然后转换成在序列上跳。单次修改很少,可以用线段树维护。(为什么不弹飞绵羊呢?)

2025.11.18

T1:区间 dp 求外层 dp 的系数。

T2:哇塞,DAG 可达性!!!!找到必定出现的条件,然后就变成了有向图可达性。bitset 还是太好玩了。

T3:发现题目限制其实很强,有很多地方都是相同的,然后可以分成若干互不影响的环。为啥不找规律呢??场切纪念。

T4:每次贪心选最小,然后数据结构维护。

2025.11.19

T1:好玩的构造题。96 次 trivial,然后把左移和右移结合一下。

T2:每次必定减最大边,然后转换成直线截凸包。

T3:直接线段树合并维护矩阵。好傻的题。

T4:高明的 dp。发现留下的数在一个段内。钦定这个段,大的全留,小的全删。需要细节转移。

你说的对,但是为什么 T1>T2>T3。至少我的思考时间是这样的。怎么办,会做的的都是板子题。

2025.11.21

T1:连通块数量等于点减边,拆贡献。

T2:矩阵快速幂,但发现本质不同的点只有 O(\sqrt n) 个。猎奇 O(n\sqrt n\log T) 复杂度。

T3:启发式分裂,第一次知道有这种东西。但是不会。

T4:太困难了。什么叫 IOI2026 集训队作业题???

2025.11.22

T1:质量不错的串串贪心。从两边往里贪,跨过中间的部分一定选一段前缀或后缀。

T2:缩点后就可简单判断 -1 的条件,然后再 DAG 上递推即可。

T3:爆搜 n^2d^k 比较 trivial(但是我怎么想了近一个小时?),然后加个优化发现复杂度对了。

T4:发现如果切大块可以那切小块一定可以,然后对于所有可能块排序后二分一下。然后先选块长的倍数贪心。

好蠢啊,AK 难度最低的一场。

2025.11.25

T1:可以把二叉树分成两个儿子倒过来看成合并,然后从大往小合。

T2:第二次遇到启发式分裂。每次把矩形切一刀分成两部分,找切的地方可以用启发式分裂。

T3:不是,这个 *3100 怎么这么蠢?二分答案,然后 01 背包就能判定。

T4:挺高明的,找到一种插点的方式,使得可以简单算贡献。O(k\binom{k}{\frac{k}{2}}^2) 真神秘。

2025.11.26

T1:为什么 OI 里会有提答题??二次剩余?直接 random 都能过!!

T2:蠢完了,发现不满足条件的数不超 100

T3:存在 O(n\log n\log V) 的 Boruvka 做法,但单老哥还是太恐怖了。

T4:太困难了。

2025.11.27

考前最后一场!!听说是信心赛,但其实是浮木保卫战。

T1:我觉得还挺困难的。尝试找到最少操作数,然后可以通过 \times 2-1 浪费两次操作,然后调奇偶即可。

T2:唐。

T3:更是唐的没变,超级拆贡献。

T4:不会。

NOIP rp=-1ull!!