题意:

      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的更多相关文章

  1. 网络流之最大流Dinic算法模版

    /* 网络流之最大流Dinic算法模版 */ #include <cstring> #include <cstdio> #include <queue> using ...

  2. poj-1459-最大流dinic+链式前向星-isap+bfs+stack

    title: poj-1459-最大流dinic+链式前向星-isap+bfs+stack date: 2018-11-22 20:57:54 tags: acm 刷题 categories: ACM ...

  3. 网络流之最大流Dinic --- poj 1459

    题目链接 Description A power network consists of nodes (power stations, consumers and dispatchers) conne ...

  4. 网络最大流Dinic

    1.什么是网络最大流 形象的来说,网络最大流其实就是这样一个生活化的问题:现在有一个由许多水管组成的水流系统,每一根管道都有自己的最大通过水流限制(流量),超过这个限制水管会爆(你麻麻就会来找你喝茶q ...

  5. HDU 3572 Task Schedule(拆点+最大流dinic)

    Task Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  6. 学习笔记 --- 最大流Dinic算法

    为与机房各位神犇同步,学习下网络流,百度一下发现竟然那么多做法,最后在两种算法中抉择,分别是Dinic和ISAP算法,问过 CA爷后得知其实效率上无异,所以决定跟随Charge的步伐学习Dinic,所 ...

  7. Power Network(网络流最大流 & dinic算法 + 优化)

    Power Network Time Limit: 2000MS   Memory Limit: 32768K Total Submissions: 24019   Accepted: 12540 D ...

  8. ZOJ-2364 Data Transmission 分层图阻塞流 Dinic+贪心预流

    题意:给定一个分层图,即只能够在相邻层次之间流动,给定了各个顶点的层次.要求输出一个阻塞流. 分析:该题直接Dinic求最大流TLE了,网上说采用Isap也TLE,而最大流中的最高标号预流推进(HLP ...

  9. POJ2112_Optimal Milking(网洛流最大流Dinic+最短路Flody+二分)

    解题报告 农场有k个挤奶机和c头牛,每头牛到每一台挤奶机距离不一样,每台挤奶机每天最多挤m头牛的奶. 寻找一个方案,安排每头牛到某一挤奶机挤奶,使得c头牛须要走的全部路程中的最大路程的最小值. 要使每 ...

随机推荐

  1. Spring Boot 老启动失败,这次再也不怕了!

    Spring Boot 项目是不是经常失败,显示一大堆的错误信息,如端口重复绑定时会打印以下异常: *************************** APPLICATION FAILED TO ...

  2. ubuntu上pyecharts V1版本环境搭建

    1 背景 今天想用pyecharts画图,在新的环境下使用pip安装之后发现,导入pyecharts模块一直失败,报错如下. 图 1 导入pyecharts错误图 请注意:我这里使用的python版本 ...

  3. 翻译:《实用的Python编程》03_04_Modules

    目录 | 上一节 (3.3 错误检查) | 下一节 (3.5 主模块) 3.4 模块 本节介绍模块的概念以及如何使用跨多个文件的函数. 模块和导入 任何一个 Python 源文件都是一个模块. # f ...

  4. Java基础学习--集合

    集合 List集合的特点 1.有序的数据集合,存储元素和取出元素的顺序是一致的(存储123,取出123) 2.有索引,包含了一些带索引的方法 3.允许存储重复的元素 List接口中带索引的方法 add ...

  5. pytorch(02)tensor的概念以及创建

    二.张量的简介与创建 2.1张量的概念 张量的概念:Tensor 张量是一个多维数组,它是标量.向量.矩阵的高维拓展 Tensor与Variable Variable是torch.autograd(t ...

  6. NET5 ORM 六大新功能 - SqlSugar 5.0.2.7

    介绍 SqlSugar是一款 老牌 .NET 开源ORM框架,并且在第一时间兼容.NET5,由果糖大数据科技团队维护和更新 ,Github star数仅次于EF 和 Dapper 优点: 简单易用.功 ...

  7. 关于redis缓存数据库的一些思考

    今晚无聊,躺在床上,在刷技术文章时,看见了一篇关于redis缓存的文章 写的蛮好,这也就引起了我对于redis思考! 不如往深了说 引起了我对于追求探索技术本质的一些思考 平时在网上刷到很多关于red ...

  8. 来,Consul 服务发现入个门(一看就会的那种)

    前言 在微服务架构中,对于一个系统,会划分出多个微服务,而且都是独立开发.独立部署,最后聚合在一起形成一个系统提供服务.当服务数量增多时,这些小服务怎么管理?调用方又怎么能确定服务的IP和端口?服务挂 ...

  9. python基础学习之字符串的功能方法

    字符串:str的功能记录(该类需要记忆) .isdecimal():意思是判断是否由数字构成,仅仅可以解析"123" a='123'    d=a.isdecimal()    p ...

  10. SpringSecurity实战记录(一)开胃菜:基于内存的表单登录小Demo搭建

    Ps:本次搭建基于Maven管理工具的版本,Gradle版本可以通过gradle init --type pom命令在pom.xml路径下转化为Gradle版本(如下图) (1)构建工具IDEA In ...