随笔分类 -  网络流

摘要:#include #include #include #include #include using namespace std; const int MAXN=400; const int INF=0x7fffffff; int N,M,S; int a[MAXN][MAXN],dis[MAXN]; bool visit[MAXN],d[MAXN]; int StoerWagner(in... 阅读全文
posted @ 2016-09-02 20:36 Kurokey 阅读(405) 评论(0) 推荐(0)
摘要:题目链接:传送门 题目大意:给你 n,m n:有几行图,m是一个人最多跳m个曼哈顿距离。 给你两张图,第一张图数字为0表示没有柱子,否则有柱子且只能跳出去 x 次(x为当前字符代表的数字) 第二张图 '.'表示没人,'L'表示当前位置有一个人,问通过柱子之间跳跃最后最少有多少人不能逃出去。 逃出去只 阅读全文
posted @ 2016-08-11 20:10 Kurokey 阅读(191) 评论(0) 推荐(0)
摘要:题目链接:传送门 题目大意:有n个任务,m个机器。每个机器最早在 Si 天开始,最晚在 Ei 天结束,需要 Pi 天完成。可以中途换机器做,也可以中途打断不做,过后再做 只要在规定时间内都行。每个机器一天只能处理一个任务。问是否能在规定时间完成。 题目思路:知道是网络流,但是不会建图。 自己建图的时 阅读全文
posted @ 2016-08-09 16:27 Kurokey 阅读(190) 评论(0) 推荐(0)
摘要:题目链接:传送门 题目大意:给你一个矩阵,每个格子有一个值,现在你要从左上角走到右下角(走3次),使得经过路径的权值和最大。 每个格子的值只能取一次,取完后变为0,输出走完三次后最大的权值和。 题目思路:费用流做法,对于每个格子拆点,因为权值只有第一次能取,所以将每个格子拆为两条边,一条边容量为1, 阅读全文
posted @ 2016-08-01 18:35 Kurokey 阅读(197) 评论(0) 推荐(0)
摘要:int head[N],cur[N],pre[N],d[N],gap[N]; int n,m,hcnt,S,T; struct Node{ int to,nxt,v; Node(){} Node(int a,int b,int c):to(a),nxt(b),v(c){} }node[maxn]; inline void add(int x,int y,int v){ ... 阅读全文
posted @ 2016-04-10 18:24 Kurokey 阅读(227) 评论(0) 推荐(0)
摘要:int n,m,k,S,T; int head[N],hcnt,lel[N],cur[N]; struct Node{int to,nxt,v;}node[maxn]; inline void add(int x,int y,int v){ node[hcnt].to=y;node[hcnt].nxt=head[x];node[hcnt].v=v;head[x]=hcnt++; ... 阅读全文
posted @ 2016-04-09 08:40 Kurokey 阅读(609) 评论(1) 推荐(0)