hdu4280 最大流DINIC
题意:
x最小的到x最大的点同一时间的最大运输量.
思路:
裸的最大流,不解释,注意一点,记得加上防爆栈.
#pragma comment(linker, "/STACK:1024000000,1024000000")
#include<stdio.h>
#include<string.h>
#include<queue>
#define N 300000
using namespace std;
struct star
{
int b,c,next;
}D[N];
struct mknum
{
int x,t;
}tou,xin;
queue<mknum>q;
int minn(int x,int y)
{
return x<y?x:y;
}
int list1[100005],list2[100005],tot;
int deep[100005];
void add(int a,int b,int c)
{
D[++tot].b=b;
D[tot].c=c;
D[tot].next=list1[a];
list1[a]=tot;
}
bool bfs(int s,int t,int n)
{
memset(deep,255,sizeof(deep));
deep[s]=0;
xin.x=s;
xin.t=0;
while(!q.empty())
q.pop();
q.push(xin);
while(!q.empty())
{
tou=q.front();
q.pop();
for(int k=list1[tou.x];k;k=D[k].next)
{
int to=D[k].b;
if(deep[to]==-1&&D[k].c)
{
xin.x=to;
xin.t=tou.t+1;
q.push(xin);
deep[xin.x]=xin.t;
}
}
} for(int i=0;i<=n;i++)
list2[i]=list1[i];
return deep[t]!=-1;
} int dfs(int s,int t,int flow)
{
if(s==t)
return flow;
int nowflow=0;
for(int k=list2[s];k;k=D[k].next)
{
list2[s]=k;
int to=D[k].b;
int c=D[k].c;
if(deep[to]!=deep[s]+1||!c)
continue;
if(nowflow==flow)
break;
int temp=dfs(to,t,minn(c,flow-nowflow));
nowflow+=temp;
D[k].c-=temp;
D[k^1].c+=temp;
if(nowflow==flow)
break;
}
if(nowflow==0)
deep[s]=0;
return nowflow;
} int DINIC(int s,int t,int n)
{
int ans=0;
while(bfs(s,t,n))
{
ans+=dfs(s,t,1000000000);
}
return ans;
} int main ()
{
int i,n,m,mx,mi,s,t,tt,a,b,c,x,y;
scanf("%d",&tt);
while(tt--)
{
scanf("%d%d",&n,&m);
mx=-10000000,mi=10000000;
for(i=1;i<=n;i++)
{
scanf("%d%d",&x,&y);
if(mx<x)
{
mx=x;
t=i;
}
if(mi>x)
{
mi=x;
s=i;
}
}
memset(list1,0,sizeof(list1));
tot=1;
for(i=1;i<=m;i++)
{
scanf("%d%d%d",&a,&b,&c);
add(a,b,c);
add(b,a,c);
}
printf("%d\n",DINIC(s,t,n));
}
return 0;
}
hdu4280 最大流DINIC的更多相关文章
- 网络流之最大流Dinic算法模版
/* 网络流之最大流Dinic算法模版 */ #include <cstring> #include <cstdio> #include <queue> using ...
- poj-1459-最大流dinic+链式前向星-isap+bfs+stack
title: poj-1459-最大流dinic+链式前向星-isap+bfs+stack date: 2018-11-22 20:57:54 tags: acm 刷题 categories: ACM ...
- 网络流之最大流Dinic --- poj 1459
题目链接 Description A power network consists of nodes (power stations, consumers and dispatchers) conne ...
- 网络最大流Dinic
1.什么是网络最大流 形象的来说,网络最大流其实就是这样一个生活化的问题:现在有一个由许多水管组成的水流系统,每一根管道都有自己的最大通过水流限制(流量),超过这个限制水管会爆(你麻麻就会来找你喝茶q ...
- HDU 3572 Task Schedule(拆点+最大流dinic)
Task Schedule Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- 学习笔记 --- 最大流Dinic算法
为与机房各位神犇同步,学习下网络流,百度一下发现竟然那么多做法,最后在两种算法中抉择,分别是Dinic和ISAP算法,问过 CA爷后得知其实效率上无异,所以决定跟随Charge的步伐学习Dinic,所 ...
- Power Network(网络流最大流 & dinic算法 + 优化)
Power Network Time Limit: 2000MS Memory Limit: 32768K Total Submissions: 24019 Accepted: 12540 D ...
- ZOJ-2364 Data Transmission 分层图阻塞流 Dinic+贪心预流
题意:给定一个分层图,即只能够在相邻层次之间流动,给定了各个顶点的层次.要求输出一个阻塞流. 分析:该题直接Dinic求最大流TLE了,网上说采用Isap也TLE,而最大流中的最高标号预流推进(HLP ...
- POJ2112_Optimal Milking(网洛流最大流Dinic+最短路Flody+二分)
解题报告 农场有k个挤奶机和c头牛,每头牛到每一台挤奶机距离不一样,每台挤奶机每天最多挤m头牛的奶. 寻找一个方案,安排每头牛到某一挤奶机挤奶,使得c头牛须要走的全部路程中的最大路程的最小值. 要使每 ...
随机推荐
- JDK的下载、安装与配置
一.JDK的下载 1.JDK下载地址:https://www.oracle.com/cn/java/technologies/javase-downloads.html 2.登录Oralce官网:ht ...
- HDOJ-1358(字符串压缩+KMP)
Period HDOJ-1358 这题还是属于KMP算法的应用,属于字符串压缩问题.也就是在一个字符串s中寻找一个前缀,使得s可以被一份或者多份前缀子串t拷贝连接,也就是串接. #include< ...
- POJ-3468(线段树+区间更新+区间查询)
A Simple Problem With Integers POJ-3468 这题是区间更新的模板题,也只是区间更新和区间查询和的简单使用. 代码中需要注意的点我都已经标注出来了,容易搞混的就是up ...
- 漏洞复现-CVE-2017-12629-RCE-solr:XXE
0x00 实验环境 攻击机:Win 10.Win Server 2012 R2 靶机:Ubuntu18 (docker搭建的vulhub靶场) 0x01 影响版本 Apac ...
- drf给上传图片重命名
1.先在你项目中添加一个文件夹如:system 在文件夹下添加__init__.py 和storage.py文件,并在storage.py中添加如下代码: #复制代码 -- coding: UTF-8 ...
- Codeforces Round #558 B2. Cat Party (Hard Edition)
题面: 传送门 题目描述: 题意:确定最大的x,使去除掉前x天的其中一天后,所有不同数字的数量相等. 题目分析: 可能是我太久没打cf了,水题都做不出来. 这道题的关键在于:要记录相同数量,的不同 ...
- 总结数据科学家常用的Python库
概述 这篇文章中,我们挑选了24个用于数据科学的Python库. 这些库有着不同的数据科学功能,例如数据收集,数据清理,数据探索,建模等,接下来我们会分类介绍. 您觉得我们还应该包含哪些Python库 ...
- 在ASP.NET Core中用HttpClient(五)——通过CancellationToken取消HTTP请求
用户向服务器发送HTTP请求应用程序页面是一种非常可能的情况.当我们的应用程序处理请求时,用户可以从该页面离开.在这种情况下,我们希望取消HTTP请求,因为响应对该用户不再重要.当然,这只是实际应用 ...
- 基于sk_learn的k近邻算法实现-mnist手写数字识别且要求97%以上精确率
1. 导入需要的库 from sklearn.datasets import fetch_openml import numpy as np from sklearn.neighbors import ...
- Mybatis自定义拦截器与插件开发
在Spring中我们经常会使用到拦截器,在登录验证.日志记录.性能监控等场景中,通过使用拦截器允许我们在不改动业务代码的情况下,执行拦截器的方法来增强现有的逻辑.在mybatis中,同样也有这样的业务 ...