摘要: 感谢 http://www.cnblogs.com/vongang/archive/2012/04/28/2475731.html 这篇blog里提供了3个链接……基本上很明白地把KM算法是啥讲清楚了 然而n^4的KM好像并没有什么卵用啊……所以不得不学n^3的 我看了一下各种,大部分blog里写的 阅读全文
posted @ 2016-02-24 21:26 wangyurzee 阅读(669) 评论(0) 推荐(0) 编辑
摘要: 首先,对于每个询问,我们二分答案 然后对于序列中大于等于中位数的数,我们把它们置为1,小于中位数的数,置为-1 那么如果一个区间和大于等于0,那么就资磁,否则就不滋磁 这个区间和呢,我们可以用主席树维护前缀和 [c,d]上的最大前缀和减去[a-1,b-1]上的最小前缀和,就是所有可用区间的最大区间和 阅读全文
posted @ 2016-02-24 21:06 wangyurzee 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 集各比较重要的数论定理于一身的题 如果没学过快速幂、费马小定理、lucas定理、中国剩余定理的,请出门右转文化课,OI不适合你,请出门左转自行百度/google 学完了这题就是大傻逼题了 另外注意特判G=P时,费马小定理不成立,直接输出0 #include <iostream> #include < 阅读全文
posted @ 2016-02-05 19:32 wangyurzee 阅读(527) 评论(1) 推荐(0) 编辑
摘要: 首先树dp求出一个点的答案 然后再一遍dfs换根(是叫做换根吗.. 详见代码 #include <iostream> #include <cstdio> #include <cmath> #include <cstring> #include <cstdlib> #include <algorith 阅读全文
posted @ 2016-02-04 16:05 wangyurzee 阅读(259) 评论(0) 推荐(0) 编辑
摘要: hash大法好 #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <cstdlib> #include <algorithm> #include <vector> #define ll 阅读全文
posted @ 2016-02-04 15:47 wangyurzee 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 考虑离线,首先可以把每个询问的区间转化成[1,x]的形式 然后对询问的右端点排序 接着从左往右扫,记录每个数出现的次数,以及模数小于100的所有结果出现的次数 对于P小于100的询问,直接得到答案 对于P大于100的询问,暴力枚举得到答案 复杂度O(nsqrt(n)) #include <iostr 阅读全文
posted @ 2016-02-03 14:52 wangyurzee 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 好神啊.. 首先递推随便yy一下就行了 然后发现可以用矩阵优化,不过显然是n^3logk的,不资磁 于是就有了性质,这个转移矩阵显然是一个循环矩阵(并不知道) 循环矩阵乘循环矩阵还是循环矩阵 然后就可以O(n)记录矩阵,O(n^2)完成乘法 然后就资磁啦 复杂度O(n^2logn) 详见代码 #in 阅读全文
posted @ 2016-02-02 13:45 wangyurzee 阅读(257) 评论(0) 推荐(0) 编辑
摘要: WC结束了,来补一下这题的题解 首先感谢SC神犇YYY(第一个AC此题的神犇)教我做法 再感谢教YYY做法的Claris大爷 首先,我们发现一个性质,一个合法的数的后缀必定是合法的,所以我们就可以bfs了,往合法的数的最高位加0或1 只有最高位是1的数才有可能是答案 YYY大爷告诉我们,并且不难证明 阅读全文
posted @ 2016-02-02 12:34 wangyurzee 阅读(726) 评论(0) 推荐(0) 编辑
摘要: 分块分sqrt(n)块F[i][j]表示块i到块j的答案s[i][j]表示数字i在前j块内出现了几次#include #include #include #include #include #include #define N 100005#define M 233#define L(x) (n*(... 阅读全文
posted @ 2016-01-22 19:31 wangyurzee 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 我们很容易发现答案是C(R-L+N+1,N)-1然后用一下lucas定理就行了#include #include #include #include #include #include #define ll long long#define P 1000003using namespace std;... 阅读全文
posted @ 2016-01-21 16:37 wangyurzee 阅读(371) 评论(0) 推荐(0) 编辑