标签: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的话,必然存在一个解。
(题解锅的太厉害了吧。。。
标签:sig math 质数 sum limit 位置 二分答案 mit 中心
原文地址:https://www.cnblogs.com/Lrefrain/p/12535070.html