
loj
取竹
Hai capito?
展开
-
[Loj]#6002. 「网络流 24 题」最小路径覆盖
题意如题名,最小路径覆盖。 答案为点数减去最小割。 用dinic直接跑。 #include #include #include using namespace std; const int N=205; int n,m; int map[N][N]; int fr[N]; int vis[N]; int sum; int in[N]; int le; int fa[N]原创 2017-07-09 23:25:18 · 395 阅读 · 0 评论 -
[Loj]#6003. 「网络流 24 题」魔术球
我是直接用贪心跑的,但其实可以用网络流来跑。 对于网络流,通过分析可以得到,如果将i+j为完全平方数的i与j连上边。 那么每一根柱子就是一条路径,答案就是有n条路径的最小路径覆盖。 可以自己画图YY。 #include #include #include using namespace std; const int N=65; int n; vector v[N]; inline b原创 2017-07-10 22:55:02 · 494 阅读 · 0 评论 -
[Loj]#6004. 「网络流 24 题」圆桌聚餐
建立源点s与所有单位连边,建立汇点T将所有餐桌与t相连,再将单位与餐桌各连上容量为1的边。 跑一遍最大流即可。 输出路径时,只要查看改变是否有流即可 #include #include #include #include using namespace std; const int N=1005,INF=1<<29; int m,n,x,sum; struct node { int原创 2017-07-11 23:08:09 · 402 阅读 · 0 评论 -
[Loj] #6000. 「网络流 24 题」搭配飞行员
二分图最大匹配值,直接裸上匈牙利。 #include #include using namespace std; const int N=105; int n,m; int a,b; int ans; bool vis[N]; int fr[N]; int ga[N][N]; bool find(int x) { register int i; for (i=m+1;i<=n;i++)原创 2017-07-09 23:19:30 · 415 阅读 · 0 评论 -
[Loj]#6001. 「网络流 24 题」太空飞行计划
分析后看出是最大权闭合子图,那么答案就是正权值-最大流。 #include #include #include #include #include #include #include using namespace std; const int N=2505; const int inf=1<<29; int m,n,sum,s,t; int cur[155]; int h原创 2017-07-09 23:22:54 · 512 阅读 · 0 评论