ZROI 19.08.07模拟赛

传送门

写在前面:为了保护正睿题目版权,这里不放题面,只写题解。


“正睿从来没有保证,模拟赛的题目必须原创。”

“文案不是我写的,有问题找喵老师去。”——蔡老师


  • A

R爷再次翻车,搞出来了一道六年前的CF题。

(100pts:)

然而不是原题也很简单,斜率优化板子,单调队列搞一下就完事了。

也可以wqs二分,复杂度可以做到(O(mlog m))(与)p(无关。所以R爷差点把)p$出到(10^5)


  • B

本题乱搞做法非常多,所以R爷动用了权限来卡乱搞。

然而R爷还是非常良心的,给能AC的乱搞留了(50pts)

“把地鼠拔出来。”——钱爷爷

(100pts:)

倒着做,考虑哪些状态可以到达终态,看其中有没有初态。

每次找一个同行同列没有其他空格的空格,同时把同行同列的格子全部赋为“叠加态”。

由于同行同列没有其他空格,所以不会导致无解,可以贪心。

叠加态也可以作为空格使用。

会有若干行、列全是叠加态,最后判一下每个行列至少要有一个地鼠。


  • C

感性理解一下(F(x)),发现它的意义是(x)能开的最大的(k)次方根,开根之后的结果。

(54pts:)

经典莫反。

[ans=sum_{i=2}^n F(n)~~~~~~~~~~~~ ]

[=sum_{i=2}^n prod_{j} p_j^{frac{q_j}{gcd(q)}} ]

[~~~~~~~~~~~~~~~~~~~~=sum_{k}sum_{i=2}^n sqrt[k]{i}cdot [gcd(q)=k] ]

[~~~~~~~~~~~~~~~~=sum_{k}sum_{i=2}^{sqrt[k]{n}}icdot [gcd(q)=1] ]

[~~~~~~~~~~~~=sum_{k}sum_{i=2}^{sqrt[k]{n}}isum_{d|gcd(q)}mu(d) ]

[~~~~~~~~~=sum_{k}sum_d mu(d)sum_{i=2}^{sqrt[kd]{n}}i^d ]

[~~~~~~~~=sum_{T}sum_{d|T}sum_{i=2}^{sqrt[T]{n}}mu(d)i^d ]

后面那堆幂求和随便插值一下就好了。

(100pts:)

高精度开(k)次根,可以二进制压位,压到(2^{30})左右就可以卡过去。

顺便高精度开(k)次根的方法是先二分一个长度,再二分具体的值。每次做一个高精快速幂判断大小即可。

真是一道防AK好题。/cy/qiang

原文地址:https://www.cnblogs.com/suwakow/p/11375085.html