NOIP2024模拟赛#20 总结
啊啊啊啊菜死了。
感觉自己三年白学了。
T1 上来看到 \(a_i\le 10^9,b_i\le 2\times 10^{18}\) 就懵了,想往每个数那里想。
手玩了一下,假设选择 \(\dfrac{V}{a_i},\dfrac{V}{a_j},\dfrac{V}{a_k}\) 这三个数,答案为 \(\dfrac{V}{a_i}+\dfrac{V}{a_j}+\dfrac{V}{a_k}\),通分一下就是 \(\dfrac{(a_ia_j+a_ia_k+a_ja_k)V}{a_i\times a_j\times a_k}\)。然后这个数要等于一些质数的乘积。
发现对于 \(b_i\) 中没出现的质数,一定要作为分母,也就是选上,否则等号不可能成立。至于剩下的数,不知道怎么办。
然后不会了。
看 T2,题意好懂,发现暴力极其不好写,于是跳,有一个 \(t_i=10^9\) 的性质也不会,这把寄完了。
T3 数据结构,感觉可做。
首先倒数是诈骗,初始将 \(a_i\) 变为 \(\dfrac{1}{a_i}\) 就行。
疯狂拆柿子,\((a+b+c)^2=a^2+b^2+c^2+2(ab+bc+ca)\),然后 \((a^2+b^2+c^2)^2=a^4+b^4+c^4+2(a^2b^2+b^2c^2+c^2a^2)\)。
你本来想维护后面那个交叉乘积,却发现它每一次也是每项平方,然后又变成的最初的问题。
寄。
感觉 \(10^5\) 是留给根号做法的,考虑分块。然后不会,唐完了。
写了 \(n^2\) 的暴力,还有一个差分,用下欧拉定理就没了。
诶我去怎么能过大样例,哦大样例 \(n\) 是 \(10^4\) 啊,那没事了。
T4 怎么是涂色,这玩意每一次写出来过。
最基础暴力是 \(O(n^2)\) 的,但你怎么操作次数是 \(10^5\) 次。
哦,会了个差分,可以做到 \(O(k\log n+n^2)\)。写写写。
然后回去想 T2,不会。
想 T1,没有结果。
写 T1 部分分。
\(n\le 10\),可以爆搜。
\(V\le 10^5\),背包。(但是分析一下爆搜复杂度也是对的)
\(n\le 16\),上个高精。
后面 \(30\) 分不会了,然后写了个前面得出的结论,就是 \(b\) 里面没出现的 \(a_i\) 一定选,高精维护,发现过不了大样例,反正我也不知道正确性。摆了。
估分:\(70+0+30+15=115\)。
得分:\(70+0+30+15=115\)。
没挂是好的。被 ljh 暴打了。
T1 原来我的想法是对的,赛时由于不会证正确性摆了,实现时没注意细节所以过不了大样例,改下就过了呜呜呜。
T1 还可以不写高精,有一个模数就行,理论冲突概率很小。
T2 树形 DP,好复杂。
T3 打表发现循环节是 \(47\) 位,全处理出来,然后上个什么数据结构维护一下。
赛时 forgive 过了写的是分块,时间复杂度 \(O(n\sqrt n\times 47)\)。
可以使用线段树做到 \(O(n\log n\times 47)\)。
T4 正解是扫描线吧。
总结:
同 Heldivis:猜的结论不要乱否定,可以从正确性上推一推。
不是哥们,你咋天天不管啥题都想数据结构呢。
赛时心态要好,相信自己做不出来别人一定做不出来能行。

浙公网安备 33010602011771号