码迷,mamicode.com
首页 > 其他好文 > 详细

「考试」省选50

时间:2020-03-20 22:10:18      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:sig   math   质数   sum   limit   位置   二分答案   mit   中心   

好可恶卡常卡死我了。

T1
我们点分治。
对于每一个位置按照到点分中心的所有子树节点划分不同路径。
二分答案(最小的使得大于其的路径个数为K的长度)。
只需要给点分数据排序。
双指针扫一扫再加一个求有多少个大于等于当前二分长度的路径。
输出答案即可。

T2
维护一个线段树。
维护区间与缀和,或缀和。
考虑判断当前区间\(and\ or\)某一个数之后,其变化的位是否均相同。
如果相同打标记下传,否则向下递归。
查询直接查询区间最大值即可。

T3
比较有意思。
我们求得一个质数使得:
\[P\equiv 1\ (mod\ K)\]
这样\(K|phi\)
所以这样的一个质数\(P\)是存在\(K\)次单位根了。
设其\(K\)次单位根为\(g\)
那么有:
\[g^K\equiv 1\ (mod\ P)\]
对于每一个\((i,j)\)随机出来一个\(rd_{i,j}\)
那么给每一个位置设一个权值\(w_{i,j}=rd_{i,j}x^{a_{i,j}}\)
当然如果这个位置没有利是,权值自然为0.
这样我们每次代入一个\(x=g^i\)求行列式。
对于\(i\in[0,K)\)我们求\(K\)次行列式,把值累加。
那么对于一个合法排列(不含有\(a_{i,j}=-1\))\(p\)来说,设\(\sigma(p)\)为其逆序对个数。
其对最终和的贡献即为:
\[W=(\sum\limits_{j=0}^{K-1}g^{j\sum\limits_{i=1}^{n}a_{i,p_i}})(-1)^{\sigma(p)}\prod\limits_{i=1}^{n}rd_{i,p_i}\]
设:\(S=\sum\limits_{i=1}^{n}a_{i,p_i}\)
那么当\(S\equiv 0\ (mod\ K)\)的时候。
我们的\(g^S\equiv 1\ (mod\ P)\)
前面那部分,如果我们的\(S\equiv 0\ (mod\ K)\)的话,值必然为\(K\)
否则我们用等比数列求和公式:
\[\frac{g^{KS}-1}{g^{S}-1}\]
这样必然为0。
然而如果求和为0的话,很大概率是不存在解。
如果求和不为0的话,必然存在一个解。

(题解锅的太厉害了吧。。。

「考试」省选50

标签:sig   math   质数   sum   limit   位置   二分答案   mit   中心   

原文地址:https://www.cnblogs.com/Lrefrain/p/12535070.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!