POI 10.28
Posted miracevin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POI 10.28相关的知识,希望对你有一定的参考价值。
[POI2015]KUR
不考虑构造原串再匹配
考虑开始位置满足什么条件才能匹配。
显然,开始位置确定,后面的字符都确定了。
而且,a,n互质,所以必然能遍历n的剩余系,从不同位置开始,初始的a*s+b mod n的值互不相同。
设初始点为s,x=a*s+b mod n
由上分析可知,s,x一 一对应。
x开始的第i位就是:x+(i-1)*b % n
如果满足条件,对于m位中的每一位,
如果m这一位是0,有:x+(i-1)*b mod n<p
否则有p<=x+(i-1)*b mod n <n
于是有了m个方程。
对于每个方程的合法的解x,都唯一对应一个出发的匹配点s
所以,方程的解数就是答案。
其实不等式比较好解,每个不等式的合法值是一个区间,最多两段。
但是,由于每个不等式的解可能分两段,取交并不方便。
所以,转化为每个不等式不合法的解,对这些区间取并即可。
以上是关于POI 10.28的主要内容,如果未能解决你的问题,请参考以下文章
10.28 rsync工具介绍 10.29/10.30 rsync常用选项 10.31 rsync通