01 2016 档案
摘要:分块分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*(...
阅读全文
摘要:我们很容易发现答案是C(R-L+N+1,N)-1然后用一下lucas定理就行了#include #include #include #include #include #include #define ll long long#define P 1000003using namespace std;...
阅读全文
摘要:先传代码再填坑#include #include #include #include #include #include #include #include #define N 100005#define M 400005#define INF 0x7FFFFFFFusing namespace s...
阅读全文
摘要:从左到右枚举左端点,用线段树维护每个右端点的愉♂悦值#include #include #include #include #include #include #define ll long long#define N 1000006using namespace std;inline int re...
阅读全文
摘要:首先,对于本质相同的构造,我们只计算字典序最小的序列假设序列中最大的元素为top我们很容易发现这样的序列一定是1,2,..,1,2,3,2,3,...,2,3,4,3,4.........,top-1,top(原谅我的语言表达……)我们很容易发现这样的序列从第二个数开始一定是2,若干个(1,2),3...
阅读全文
摘要:莫队算法,用线段树维护最长连续1,复杂度O(nsqrt(m)logn)刚开始TLE了,看了claris大爷的blog说是kd-tree,然而并不会kd-tree……然后就打算弃疗了...弃疗之前加了点常数优化,然后就AC了...(滑稽#include #include #include #inclu...
阅读全文
摘要:先忽略航线,求出图中所有连通块,再用航线拓扑排序求出每个连通块的优先级然后dijkstra时优先处理优先级高的块里的点就行了ps:这题SPFA会TLE#include #include #include #include #include #include #include #include #de...
阅读全文
摘要:manacher之后乱搞#include #include #include #include #include #include #define N 200005#define to(x) ((x)+p[x])#define from(x) ((x)-p[x])using namespace st...
阅读全文
摘要:建AC自动机,把所有病毒的节点都删掉,dfs判有没有环,有环就找得到。#include #include #include #include #include #include #define N 30304using namespace std;int size,root;int next[N][...
阅读全文
摘要:这场比赛当初是67(?)反正就是Cu滚粗了……先给个题目的传送门:http://wenku.baidu.com/link?url=mUxdsYomenU-e9SFVPacVtXysemiQA4KnP1EldVuYaB8ECiaLQN4VIAEc19MmHQWyopKLxhzWjWdIE_QrxDWi...
阅读全文
摘要:首先,块的大小确定的话,可以发现方案最多只有1种然后就可以O(nsqrt(n))搞,不过会TLE接着我们又发现,一个节点可以作一个块的根,当且仅当该节点的size能被块的大小整除然后就可以O(nlogn)搞了详见代码#include #include #include #include #inclu...
阅读全文
摘要:要求k个与原序列中的数不同,就是要求(n-k)个相同,令K=n-k然后cnt[i]表示序列a中i的倍数的个数f[i]表示gcd为i的倍数的方案数f[i]=C(cnt[i],K)*(m/i-1)^(cnt[i]-K)*(m/i)^(n-cnt[i])那么ans[i]=f[i]-sigma(ans[j]...
阅读全文
摘要:hash大法好 #include #include #include #include #include #include #define N 55#define M 105using namespace std;inline int read(){ int ret=0;char ch=getch...
阅读全文
摘要:数位dp先从1到162枚举各位数之和s[i][j][k][l]表示i位数,第一位小于等于j,当前各位数字和为k,当前取模余数为l的方案数然后脑补一下转移就行了详见代码#include #include #include #include #include #include #define ll lo...
阅读全文
摘要:模板题之前还写了点铺垫题bzoj3223 教你如何reversebzoj1507 教你如何维护序列bzoj1269 教你如何维护序列&reverse然后再做这个题就好多啦#include #include #include #include #include #include #define N 5...
阅读全文

浙公网安备 33010602011771号