Number Transformation 我们能发现这个东西是以2 - k的lcm作为一个循环节, 然后bfs就好啦。 ...
分类:
其他好文 时间:
2019-03-03 17:38:08
阅读次数:
161
$|S| \le 5 \times 10^5$ 题解 这题直接用通配符匹配的套路会错,因为重复部分的$?$可能同时被当做了$0$和$1$ 有长度为$i$的公共前缀后缀等价于有长度为$n-i$的循环节; 对于循环节$d$,只需要知道对于任意的$d|i-j$,是否存在$(s[i]='0'且s[j]='1 ...
分类:
其他好文 时间:
2019-02-25 21:53:10
阅读次数:
213
题目传送门 题意: 给你n和k,你每次能交换n的两个位,问最多k次后的最小和最大值 思路: 考虑到n到1e9,所以可以用全排列来暴力,但是我们不能全排列之前的数位, 因为n中的位数可能相等,那样很难计算交换次数,因此我们只能全排列下标 然后我们要怎样计算每次排列的交换次数,这里用到了循环节 比如:0 ...
分类:
其他好文 时间:
2019-02-20 19:58:30
阅读次数:
170
题目链接: "Luogu5181" 一个简单题? 首先对$[C+1,n D]$中的每个数字求出循环节,求$Lcm$即是整段的循环节。 然后判断$[A,B]$中有几个数满足$x 1\equiv 0(mod\ Lcm)$。 求循环节暴力可过。。 其实求循环节是可以$O(n)$的。 每一次求循环节得到一个 ...
分类:
其他好文 时间:
2019-02-13 15:40:12
阅读次数:
186
给出一个长度不超过500的环状排列,每次操作可以交换任意两个数,求把这个排列变成有序的环状排列所需的最小操作次数。 首先把环状排列的起点固定使其成为链状排列a,枚举排好序时的状态b(一种有2n种可能),则b可以看成是原状态a的一个置换,把a变为b所需的最小交换次数即为a的长度n减去置换循环节的数量。 ...
分类:
其他好文 时间:
2019-02-06 21:09:24
阅读次数:
185
Java实现并查集,合并时采用路径压缩算法。 如果合并时使用循环修改的方法,一次合并的时间复杂度就为N,无法接受 public class Union { public int[] id;//对应索引所在的集 public int[] sz;//所在集的size,合并时小集合大集 public in ...
分类:
编程语言 时间:
2019-01-27 16:36:19
阅读次数:
213
题目大意:求字符串的前缀是否为周期串,若是,打印出循环节的长度以及循环次数。 这道题考察的是KMP算法中next数组的应用,必须理解透next[]数组代表的含义才t能通过它解决这道题。思路是先构造出 next[] 数组,下标为 i,定义一个变量 t = i - next[i] 就是next数组下标和 ...
分类:
其他好文 时间:
2019-01-27 10:52:33
阅读次数:
177
题目地址 "题目链接" 题解 get一个新操作,序列的循环节 这据说这一种模数很小的序列的话都会有循环节?对这玩意有点萌币。 如果$Fib$序列中在$mod\space n$的意义下,出现了连续的0和1,就说明出现了循环节,对这个循环节进行取膜就行了 本来还打了矩阵快速幂的结果没用上 include ...
分类:
其他好文 时间:
2019-01-18 10:54:55
阅读次数:
244
/* 特征值k=m-next[m]就是最小循环节的长度, m%k就是去末尾遗留长度 */ #include #include #include using namespace std; char strs[10005][100]; int r,c,w,h,f[1050],nxt[10005];//r... ...
分类:
其他好文 时间:
2019-01-15 19:33:07
阅读次数:
252
题解: 询问区间的整循环节 设区间长度为$n$ 如果有循环节长为$x$和$y$,那由斐蜀定理得$gcd(x,y)$也一定为一个循环节; 假设最小的循环节长为$mn$,那么对于任何循环节长$x$,一定$mn | x$ , 否则$gcd(mn,x)<mn$矛盾 推出$\frac{n}{x} | \fra ...
分类:
其他好文 时间:
2019-01-08 22:01:23
阅读次数:
201