摘要: #include<bits/stdc++.h> #define rep(i,a,n) for(int i=a;i<=n;++i) #define per(i,a,n) for(int i=n;i>=a;--i) #define pb push_back #define fi first #defin 阅读全文
posted @ 2020-09-11 11:28 摸鱼选手LLF 阅读(123) 评论(0) 推荐(0)
摘要: 链接 https://www.luogu.com.cn/problem/P3518 题解: 玄学 显然 gcd(x,n)是答案, 考虑如果一个数y是答案 ,那么2y 3y 4y是答案 然后考虑所有答案的GCD 下同 发现如果最小的答案是y,那么所有答案就是2y 3y 4y,因为最小的GCD也是答案, 阅读全文
posted @ 2020-09-11 10:57 摸鱼选手LLF 阅读(124) 评论(0) 推荐(0)
摘要: 如题 N<=250000 倍增后缀数组和DC3都过不了 ,据说有的人DC3能过 后缀自动机 首先对A串建立后缀自动机 然后让B在A上匹配 考虑B的逐位匹配,维护一个cur节点,一开始这个节点是空节点,也就是1 然后如果cur的转移里面有B[i] ,那么ans++, cur转移到下个节点 如果匹配不到 阅读全文
posted @ 2020-09-10 16:20 摸鱼选手LLF 阅读(127) 评论(0) 推荐(0)
摘要: 链接: https://www.luogu.com.cn/problem/P3975 题意如题 题解:先DFS累加后面的串出现的次数, 然后跑trans找就可以了 当不同位置看作同一个字串时,显然这时候每个状态只出现一次,出现次数siz就是1;(同时注意设置clone节点的siz,因为建立时clon 阅读全文
posted @ 2020-09-10 11:12 摸鱼选手LLF 阅读(164) 评论(0) 推荐(0)
摘要: 题意 给你一个无向图 不会有重边和自环 然后要求你把所有点分成两个集合,每个集合的点必须是个完全图, 如果满足不了上述条件 输出-1; 题解:考虑建原图的补图; 即,若两点之间没有边,则连边; 若这个图不是二分图,那么无解,感性理解一下就行了 注意你虽然是二分图,但是不一定是全联通,可能是很多个连通 阅读全文
posted @ 2020-09-09 22:23 摸鱼选手LLF 阅读(115) 评论(0) 推荐(0)
摘要: 链接https://atcoder.jp/contests/arc097/tasks/arc097_b 题意 给你一个排列 然后给你M个pair,这两个pair位置的值可以互换, 然后问你最多能换成多少个位置的pi=i; 题解: 手玩了一下,发现你连起来的pair,可以互换成全排列, 然后这就是个并 阅读全文
posted @ 2020-09-09 21:55 摸鱼选手LLF 阅读(195) 评论(0) 推荐(0)
摘要: 题意:一个数组 每次选K个连续的数,然后删掉其中最小的数 然后你可以进行Q次操作 要求删去的最大数和最小数的差值最小 求这个差值 题解: 枚举最小数x,依次把每个数作为最小的数, 然后统计答案,发现小于x的数会把整个数组分成各个区间,然后取这些区间里的最小数, 然后用这些最小数里最大的,更新答案就可 阅读全文
posted @ 2020-09-09 21:40 摸鱼选手LLF 阅读(230) 评论(0) 推荐(0)
摘要: 题意: 给一个长度为N的数组 然后求满足 他们的异或和 加和相等的区间 题解: 我们发现,一旦两个数字有一位都是1,他们会变成0,所以这时候肯定就少了值,换句话说,两个数异或的最大值,是两个数的加和 所以枚举每个位置,然后向前异或,因为,所以每次最多20次向前 复杂度20*n,也就是log(ai)* 阅读全文
posted @ 2020-09-09 21:34 摸鱼选手LLF 阅读(151) 评论(0) 推荐(0)
摘要: 链接https://atcoder.jp/contests/arc099/tasks/arc099_a 题意 一个长度为N 的排列 每次选K个连续的数,然后所有的数都会变成这K个里的最小值,求最小操作次数 题解:水题 显然最后全变成1 从左到右覆盖过去就行了,注意下边界问题就行了 代码 #inclu 阅读全文
posted @ 2020-09-09 21:27 摸鱼选手LLF 阅读(220) 评论(0) 推荐(0)
摘要: 链接:https://atcoder.jp/contests/arc097/tasks/arc097_a 题意: 给一个字符串 求出第K小的字串 后缀自动机,但这是第一题 发现长度比较小,然后我把每个前缀都push进trie树里,mle。。。 然后看了看题解 发现我们只要把长度小于=5的子串拉出来排 阅读全文
posted @ 2020-09-09 21:23 摸鱼选手LLF 阅读(152) 评论(0) 推荐(0)