2026年NOICA联盟-NOIP模拟赛(十一)
改题
A. 梦境(dream)
做法
均摊+单点修改区间求极大连续段长度的平方和。
B. 黄金矿工(game)
做法
这种两行多列的一看就很可以 dp。
将有零有一的列只选一的答案记为正负一分别跑一边 dp,答案记为正一的统计答案的时候减去 \(2m\) 就行了。又卡在最后一步了。
C. 惊喜(tree)
题目描述
给出一棵树,每个点有点权 \(a_u\),保证序列 \(a\) 是 \(1\sim n\) 的一个排列,求随机选两个点 \(u,v\),以下值的期望: \(\varphi(a_u\cdot a_v)\cdot dis(u,v)\)。
做法
首先
那么要求的答案就是:
设
恰好不太好求,考虑莫比乌斯反演(其实直接容斥也可以)。
设
那么
\(F(x)\) 是好求的。考虑枚举 \(\operatorname{gcd}\) 为 \(d\),把 \(d|a_u\) 的点作为关键点建立一棵虚树,这样虚树上任意两点点权的 \(\operatorname{gcd}\) 都是 \(d\) 的倍数。遍历一遍即可。
赛后总结
T1 题面有歧义,注意到了,但是线段树 pushtag 忘记乘以 len 了,多调了 1h。九点去看了 T2,但是脑子里还是在想 T1 哪里错了。
9:30 打了个暴力验证 T1 大样例没有出锅,然后才开始调试,通过的时候已经 10:20 了。
已经有点着急了,开始想 T2,并不太会,但是肯定是 dp。观察了一下两个人的策略,写了两个和正解一样 dp,但是没有想到在最后减去 \(2m\),而是拼装了一个没有正确性的双指针。什么时候能够突破呢?🤔🤔🤔
11:00 打完了 T2,过了小样例,大样例只有一个数比答案小了一。😊,又想了一会,感觉双指针很假,但是又怀疑 dp 是不是写的是假的,错失了想到正解的机会。
11:30 开始看 T3,想了很多,但是都卡在 \(\varphi(i\cdot j)\) 难以处理。想到了转化成 \(\varphi(i)\varphi(j)\) 除以每种公共质因数的贡献,但是数论的题做得少了,没有转化到 \(\operatorname{gcd}\) 的直觉。
由于 T1 难评的题面 🧐,老师延长了半个小时,但是还是没能做出。
赛后知道了这个转化,但是后面的部分仍然有卡点,磕磕绊绊了比较久才做出。忘记了莫比乌斯反演。。。
总结:要提升简单题(T1、T2)切题速度,相信自己能做出中档题(T2、T3),T4 也要抽出一些时间打暴力。要及时复习知识点,保证熟练掌握。
trick 总结
-
均摊:观察性质,寻找操作总量上限是否较小。
-
数论要联想 \(\operatorname{gcd}\)
- 点的总和是 \(\mathcal O(n),\mathcal O(n\log n)\) 等,并且有多组本质相同的询问(不一定是题面的询问),并且在树上的操作,可以建虚树。

浙公网安备 33010602011771号