08 2020 档案
摘要:先把 1,10,100,1000,...这些数拿出来那么还剩下2^n-n个数,子集个数为2^(2^n-n),if k:对于任何一个子集,base都可以用唯一的方案凑出来else !k:会出现一个空集的情况,要-1另外用扩展欧拉公式降幂的时候,主要使用条件 #include <bits/stdc++.
阅读全文
摘要:CodeForces - 715B 先判断impossible的情况1. 0边全赋值为1,此时最短路>L2. 0边全赋值为inf,此时最短路<L 我们按读入顺序对0边进行排列,然后我们二分找到第一个必经0边,假设它在0边中的下标是第i个,那么1~i的0边为1,i+1~cnt的0边为inf(就是这些边
阅读全文
摘要:为什么欧拉图要用栈存然后逆着输出41 21 33 44 1考虑这样一组样例,你就可以发现,如果是第一种方式输出为1 2 3 4 1显然是不对的,第二种是对的主要的影响还是在欧拉路和欧拉回路上
阅读全文
摘要:The Flee Plan of Groundhogdfs相向而行就距离-3,时间+1背道而驰就距离-1,时间+1注意土拨鼠可以不走,特判就好 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 1000010 #defin
阅读全文
摘要:https://ac.nowcoder.com/acm/contest/5674/F 做法:伪单调队列按值升序排序,如果够m了就更新答案同时pop队首 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 3000010 #d
阅读全文
摘要:Groundhog and 2-Power Representation 牛客多校A python + 栈乱搞 ans=0 c=list(input()) n=int(len(c)) c.insert(0,'s') k=[] ans=[] tot=int(0) def ksm(a,b): r=int
阅读全文
摘要:#include <iostream> #include <cstdio> #include <queue> #include <algorithm> #include <cmath> #include <cstring> #define inf 2147483647 #define N 10000
阅读全文
摘要:#include <iostream> #include <cstdio> #include <queue> #include <algorithm> #include <cmath> #include <cstring> #define inf 2147483647 #define N 10000
阅读全文
摘要:第一次做的时候没有优化到底,T了 我竟然蠢蠢地去枚举质数了 #include <iostream> #include <cstdio> #include <queue> #include <algorithm> #include <cmath> #include <cstring> #define
阅读全文
摘要:欧拉回路模板题 #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
阅读全文
摘要:欧拉回路 #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 war
阅读全文
摘要:挺有意思的一个建图,夫妻之间男->女,前任之间女到男,然后判断强连通分量 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 1000010 #define p(a) putchar(a) #define For(i,a,b
阅读全文
摘要:#include <bits/stdc++.h> #define inf 2333333333333 #define N 1000010 #define p(a) putchar(a) #define For(i,a,b) for(long long i=a;i<=b;++i) //by war /
阅读全文
摘要:#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 war //20
阅读全文
摘要:#include <bits/stdc++.h> #define inf 2333333333333333 #define N 3000010 #define p(a) putchar(a) #define For(i,a,b) for(int i=a;i<=b;++i) //by war //20
阅读全文
摘要:最小环模板 floyed http://acm.hdu.edu.cn/showproblem.php?pid=1599 #include <bits/stdc++.h> #define inf 2333333333333 #define N 210 #define p(a) putchar(a) #
阅读全文
摘要:http://poj.org/problem?id=3041 X所在的行向列建边,跑二分图 #include<iostream> #include<cstdio> #include<queue> #include<algorithm> #include<cmath> #include<ctime>
阅读全文
摘要:CodeForces - 1208E 经典滑动窗口问题,如果以物体为参考系的话。前缀和优化区间操作 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 1000010 #define p(a) putchar(a) #def
阅读全文
摘要:http://poj.org/problem?id=1469 网络流跑二分图模板题 #include<iostream> #include<cstdio> #include<queue> #include<algorithm> #include<cmath> #include<ctime> #inc
阅读全文
摘要:如果 I 和 I’ 在同一强连通分量中,那么肯定 I 能到达 i’ , I’ 能到达 i,所以无解。如果 I 和 I’ 不在同一强连通分量中,那么对缩点后的新图进行拓扑排序,我们选择拓扑序大的点,而拓扑序大的点肯定是到达不了拓扑序小的点的,根据DFS做法中的证明,我们可以证明我们的选择一定合法。而我
阅读全文
摘要:2-sat模板题 矛盾体之间错开建边,最后缩点,看同一个夫妻在一个联通块中。 #include <bits/stdc++.h> #define inf 23333333333333 #define N 3010 #define p(a) putchar(a) #define For(i,a,b) f
阅读全文
摘要:牛客多校: https://ac.nowcoder.com/acm/contest/5673/I 题意:每次从两个数中选一个,也可以不选,但是选不能选之前重复的。做法:同一行连一个边,然后一个图中有环的贡献就是这个图的大小;没环就是大小-1,用并查集维护就可以 #include <bits/stdc
阅读全文
摘要:dsu on tree #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) /
阅读全文