2020.07.28【省选B组】模拟 总结

估分:(50 + 10 + 40 = 90)
考场:(50 + 10 + 0 = 60)
无语了。。。手玩出锅,还能怎样?

(T1)

操作(1、2、4)都容易用线段树解决。
关键是操作(3),区间除法。考场没有想到做法。
其实我们对于一个区间,设最大值为(A),最小值为(B)
如果(⌊A/d⌋−A=⌊B/d⌋−B),那很容易说明整个区间的修改其实就是全部加上(⌊A/d⌋−A)
所以这时打个标记,不用再递归下去了。
证明

(T2)

嘿嘿嘿,推式子直接上暴力,式子什么的最讨厌了。
然而,打表————>得到是个积性函数(记为(F)),这(TM)真是个人才啊。。。
对于(50%)的数据,我们可以考虑像个筛法一样搞出来,我们需要得到(F[p^k])的值。然后我不想口胡了。
这是LZCdalao%%%的证明
然后就这样了,反正我没打(笑

(T3)

通过一系列证明,(搞了我1.5h+
我们发现三个性质:
(n=∏(1<=i<=m)a[i]^{b[i]})(a[i])为质数。
1.肯定有符合条件的(x),为(x=∏(1<=i<=m)a[i]^{a[i]^{b[i]}-1})
首先(∏(1<=i<=m)(a[i]^{b[i]}-1+1)=n),然后(a[i]^{b[i]}-1>=b[i])
所以得证。
2.除了4,如果包含二次方质因子则符合条件的(x)有无限个。
我们尝试将(a[i]^{b[i]})(为(n)的质数)分解为(a[i]^{b[i]-1})(a[i])
然后我们可以将(a[i])转成另一个数的指数————>(p^{a[i]-1}),而(a[i]^{b[i]-1})则是原质数的指数————>(a[i]^{a[i]^{b[i]-1}-1})
我们只要证出(a[i]-1>0)以及(a[i]^{b[i]-1}-1>=b[i])即可。
因为(a[i]>=2),所以第一个得证,而第二个我们发现,当(b[i]==1||(b[i]==2)&&(a[i]==2))的时候是不能得到的。其他都能,于是得证。
3.如果(n=2^2*p1...*pm),则符合条件的(x)仍是无限个。
我们可以将(n)拆成(n=2*2*p1...*pm)
我们可以发现,如果是(x=2^{p1}*p1^{p2}*...*pm^{2-1}*p'^{2-1})就是一个合法的(x),而(p')可以取任何质数。
因为(p1>2),所以得证。

这样我们发现(n=∏(1<=i<=m)a[i])的时候解法的时候才需要乱搞。
对于(m=1)的时候,(x=a[i]^{a[i]-1})是唯一符合条件的(x),显然。
然后对于其他情况,我们发现只需要满足(x=∏(1<=i<=m)a[i]^{a[p[i]]-1})(p)(1)~(m)的排列),那么就符合条件。
状压(DP)玩玩即可。

总结

对于新的、较困难的操作,可以试着转化成容易的操作。
规律什么的要好好找找,要看看是否为积性函数。
对于推式子这种狗血操作,要多练才行。。。

转载需注明出处。
原文地址:https://www.cnblogs.com/jz929/p/13391819.html