07 2020 档案
摘要:P1402 酒店之王 把人放中间拆点即可 #include<iostream> #include<cstdio> #include<queue> #include<algorithm> #include<cmath> #include<ctime> #include<set> #include<ma
阅读全文
摘要:A - Going Home https://vjudge.net/contest/385979#problem 0到所有🐎,🐎到🏠,房子到cnt+1连边,其中🐎和🏠的代价为曼哈顿距离 #include<iostream> #include<cstdio> #include<queue>
阅读全文
摘要:#include <bits/stdc++.h> #define inf 2333333333333333 #define N 2000010 #define p(a) putchar(a) #define For(i,a,b) for(int i=a;i<=b;++i) //by war //20
阅读全文
摘要:f[i][j]表示向上扩展了i行,向右扩展了j列的方案数显然f[i][j]=f[i-1][j]*j+f[i][j-1]*i;但是这样会有重复的怎么去重是关键,top行和right列对称操作会重复算,所以最后为f[i][j]=f[i-1][j]*j+f[i][j-1]*i-(i-1)*(j-1)*f[
阅读全文
摘要:每个位置的数变化最多为[0,1,2],就像1,1,2这种情况,中间位置最多加2,我们从后往前处理 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 1000010 #define p(a) putchar(a) #defi
阅读全文
摘要:第一个数的范围是[1,2*a],不然不如把它变成1,同理第二位为[1,3*b],第3位可以直接算出来 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 1000010 #define p(a) putchar(a) #de
阅读全文
摘要:#include <bits/stdc++.h> #define inf 2333333333333333 #define N 1000010 #define p(a) putchar(a) #define For(i,a,b) for(long long i=a;i<=b;++i) //by wa
阅读全文
摘要:自己独立做出来的第一道数位dp(虽然一共做了3道qwq #include <bits/stdc++.h> #define inf 2333333333333333 #define N 1000010 #define p(a) putchar(a) #define For(i,a,b) for(lon
阅读全文
摘要:数位dp模板题 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 1000010 #define p(a) putchar(a) #define For(i,a,b) for(int i=a;i<=b;++i) //by
阅读全文
摘要:Gym - 101991D 离散化+前缀和统计上次写离散化已经是一年前多了 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 1010 #define p(a) putchar(a) #define For(i,a,b)
阅读全文
摘要:B - Balanced Neighbors 非常巧妙的一道构造题构造一个完全k分图,每个部分的和都相等就满足要求 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 1000010 #define p(a) putchar
阅读全文
摘要:#include <bits/stdc++.h> #define inf 2333333333333333 #define N 1000010 #define p(a) putchar(a) #define For(i,a,b) for(long long i=a;i<=b;++i) using n
阅读全文
摘要:http://codeforces.com/problemset/problem/743/C构造题2/n=1/a+1/b+1/ca=nb=mc=m*n解得m=n+1当n=1时是无解的 #include <bits/stdc++.h> #define inf 2333333333333333 #def
阅读全文
摘要:hdu 6069假设i=(p1^w1)*(p2^w2)*...这一步是质因数分解它的因数个数为(w1+1)*(w2+1)*...那么i^k的约数个数为(w1*k+1)*(w2*k+1)*... 如果我们对每个i都分解质因数,那么复杂度将是1e6*sqrt(1e12)的那我们反着来,我们对每一个质数去
阅读全文
摘要:hdu 6096前缀l,后缀r,中间部分mid一个字符串为k=l+mid+r,其中l和r没有相交的部分题目给了一些字符串和一些前后缀,问每个前后缀能匹配多少字符串我们构造字符串s=r+'^'+l,t=k+'^'+k用s去建立ac自动机,对每个字符串k进行查询。怎么保证不会重叠呢?如果不重叠的话,后缀
阅读全文
摘要:爬山算法 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 1000010 #define p(a) putchar(a) #define For(i,a,b) for(int i=a;i<=b;++i) using na
阅读全文