摘要: 注意二分初始值https://www.cnblogs.com/NaVi-Awson/p/7252243.html#include#includeusing namespace std;const int N=50000+5,M=100000+5;int n,m,ne... 阅读全文
posted @ 2018-09-21 20:41 YuXiaoze 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 理解好求两直线交点的公式 单调队列最后用 队尾弹队首 队首弹队尾#include#include#include#includeusing namespace std;const int N=500+5; const double eps=1e-8;in... 阅读全文
posted @ 2018-09-21 20:34 YuXiaoze 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 考虑Kruscal算法找最小/大生成树的过程如果在加一条边之前 两端点已联通 显然不加这条边只需要使端点不连通即可 最小代价即求最小割dinic对于容量为1的网络时间复杂度为O(min(N^(2/3),M^(1/2))*M);#include#include#incl... 阅读全文
posted @ 2018-09-21 20:29 YuXiaoze 阅读(117) 评论(0) 推荐(0) 编辑
摘要: (A,B)中必选一个 我们可以认为选A′必选B,选B'必选必选Atarjan缩点 同一个强连通分量的点可以互相推出 即如果选A必选A‘ 选A’必选A 显然无解#include#include#includeusing namespace std;const int N... 阅读全文
posted @ 2018-09-21 20:22 YuXiaoze 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 用好左移右移 减少编程复杂度#includeusing namespace std;int n,m,f[15][1<<15],a[15],ans; int main(){ scanf("%d%d",&n,&m); int read; for(int i=1;i<=n... 阅读全文
posted @ 2018-09-21 20:01 YuXiaoze 阅读(61) 评论(0) 推荐(0) 编辑
摘要: dfs实现的SPFA判负环较快 访问到已访问的点即为负环bfs要开数组记录访问过n次#include#includeusing namespace std;int n; int num,last[505],nxt[5505],ver[5505],len[5505];i... 阅读全文
posted @ 2018-09-21 19:58 YuXiaoze 阅读(81) 评论(0) 推荐(0) 编辑
摘要: #include#includeusing namespace std;long long exgcd(long long a,long long b,long long &x,long long &y) {if(b==0) {x=1; y=0; return a;... 阅读全文
posted @ 2018-09-21 19:50 YuXiaoze 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 行列作为点 行为左部 列为右部 黑色格点表示从左部向右部连边 使左上角到右下角的连线上的格子均为黑色 一个行只能和一个列连边 相当于匹配显然每种完美匹配对应了一个方案并不需要考虑如何调换和调换行列后方阵是什么样的 从而降低时间复杂度#include#inc... 阅读全文
posted @ 2018-09-21 19:45 YuXiaoze 阅读(72) 评论(0) 推荐(0) 编辑
摘要: #include#includeusing namespace std;const int N=30000+5; int n,v[N]; int num,last[N],nxt[2*N],ver[2*N];inline void add(int x,int y) {n... 阅读全文
posted @ 2018-09-21 19:30 YuXiaoze 阅读(84) 评论(0) 推荐(0) 编辑
摘要: https://www.zybuluo.com/Junlier/note/1248835https://www.zybuluo.com/xzyxzy/note/992041 ​​​​​​​​​​​​​​无向图网络流反向弧容量等于正向弧即可,不必建四条弧,因为正反两边不... 阅读全文
posted @ 2018-09-21 19:18 YuXiaoze 阅读(76) 评论(0) 推荐(0) 编辑