参考博客https://blog.csdn.net/u013534123/article/details/97142191

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=2e5+50;
int S,T,From[maxn],Laxt[maxn],Next[maxn],To[maxn];
ll Cap[maxn],cnt;
int vd[maxn],dis[maxn];
void add(int u,int v,ll c){
Next[++cnt]=Laxt[u];Laxt[u]=cnt;To[cnt]=v;Cap[cnt]=c;From[cnt]=u;
Next[++cnt]=Laxt[v];Laxt[v]=cnt;To[cnt]=u;Cap[cnt]=0;From[cnt]=v;
}
ll sap(int u,ll flow,int limit){
if(u==T||flow==0)return flow;
ll tmp,delta=0;
for(int i=Laxt[u];i;i=Next[i]){
int v=To[i];
if(dis[u]==dis[v]+1&&Cap[i]){
tmp=sap(v,min(flow-delta,Cap[i]),limit);
Cap[i]-=tmp;Cap[i^1]+=tmp;delta+=tmp;
if(dis[S]>=limit||delta==flow)return delta;
}
}
vd[dis[u]]--;if(!vd[dis[u]])dis[S]=limit;
vd[++dis[u]]++;
return delta;
}
void init(int limit){
cnt=1;
for(int i=0;i<=limit;i++)Laxt[i]=dis[i]=vd[i]=0;
}
int main(){
std::ios::sync_with_stdio(false);
int n,m;
while(cin>>n>>m){
init(n+2);
S=0,T=n+1;
ll ans=0;
for(int i=1;i<=m;i++){
ll u,v,a,b,c;
cin>>u>>v>>a>>b>>c;
ans+=(a+b+c)*2;
add(u,T,a/4+4*c/3);
add(v,T,a/4+4*c/3);
add(S,u,5*a/4+c/3);
add(S,v,5*a/4+c/3);
add(u,v,c/3+a/2);
add(v,u,c/3+a/2);
}
ll pp=0;
while(dis[S]<n+2){
pp+=sap(S,1e9,n+2);
}
cout<<(ans-pp)/2<<endl;
}
return 0;
}

2019HDU多校赛第二场 H HDU 6598 Harmonious Army(最小割模型)的更多相关文章

  1. Hdu 6598 Harmonious Army 最小割

    N个人 每个人可以是战士/法师  M个组合 每个组合两个人 同是战士+a 同是法师+c 否则+b 对于每一个u,v,a,b,c 建(S,u,a) (u,v,a+c-2*b) (v,T,c) (S,v, ...

  2. 2015 多校赛 第二场 1006 (hdu 5305)

    Problem Description There are n people and m pairs of friends. For every pair of friends, they can c ...

  3. 2015 多校赛 第二场 1004 hdu(5303)

    Problem Description There are n apple trees planted along a cyclic road, which is L metres long. You ...

  4. 2015 多校赛 第二场 1002 (hdu 5301)

    Description Your current task is to make a ground plan for a residential building located in HZXJHS. ...

  5. 可持久化线段树的学习(区间第k大和查询历史版本的数据)(杭电多校赛第二场1011)

    以前我们学习了线段树可以知道,线段树的每一个节点都储存的是一段区间,所以线段树可以做简单的区间查询,更改等简单的操作. 而后面再做有些题目,就可能会碰到一种回退的操作.这里的回退是指回到未做各种操作之 ...

  6. SCNU省选校赛第二场B题题解

    今晚的校赛又告一段落啦,终于"开斋"了! AC了两题,还算是满意的,英语还是硬伤. 来看题目吧! B. Array time limit per test 2 seconds me ...

  7. 2015 多校赛 第一场 1007 (hdu 5294)

    总算今天静下心来学算法.. Description Innocent Wu follows Dumb Zhang into a ancient tomb. Innocent Wu’s at the e ...

  8. hdu多校第二场1008(hdu6598) Harmonious Army 最小割

    题意: 一个军队有n人,你可以给他们每个人安排战士或者法师的职业,有m对人有组合技,组合技的信息是a,b,c,代表如果这两个人是两个战士,则组合技威力为a,一个战士一个法师,威力为b,其中b=a/4+ ...

  9. [2019杭电多校第二场][hdu6598]Harmonious Army(最小割)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6598 题意是说一个军队有n人,你可以给他们每个人安排战士或者法师的职业,有m对人有组合技,组合技的信息 ...

随机推荐

  1. Comet OJ - Contest #3 D 可爱的菜菜子 线段树+线性基

    题意 给你一个长度为 \(n\) 的整数序列 \(a_1, a_2, \ldots, a_n\),你需要实现以下两种操作,每个操作都可以用四个整数 \(opt\ l\ r\ v\) 来表示: \(op ...

  2. P1427 小鱼的数字游戏

    输入格式: 一行内输入一串整数,以0结束,以空格间隔. 输出格式: 一行内倒着输出这一串整数,以空格间隔. 直接上代码: #include<iostream> using namespac ...

  3. 微信小程序_(组件)view视图容器

    微信小程序view组件官方文档 传送门 Learn 一.hover-class属性 二.hover-start-time与hover-stay-time属性 三.hover-stop-propagat ...

  4. TypeScript----接口和泛型

    接口 TypeScript的核心原则之一是对值所具有的结构进行类型检查.它有时被称做“鸭式辨型法”或“结构性子类型化”.在TypeScript里,接口的作用就是为这些类型命名和为你的代码或第三方代码定 ...

  5. C++入门经典-例7.9-对象数组,批量化生产

    1:在数组内容中我们了解到,数组是通过指针分配到的一段额定大小的内容.同样,数组也可以包含对象.声明对象数组的形式如下: box boxArray[5]; box boxArray2[2]={box( ...

  6. link和Import区别

    本篇文章重点: link引用CSS时,在页面载入时同时加载: import需要页面完全载入后加载: link支持使用javascript控制DOM去改变样式,而Import不支持 下面待我娓娓道来: ...

  7. H264之基础篇

    1. H264 基础概念 在 H.264/AVC 视频编码标准中,整个系统框架划分为如下两个层面: 视频编码层(VCL):VCL 数据即被压缩编码后的视频数据序列,负责有效表示视频数据的内容: 网络抽 ...

  8. 尚学堂requireJs课程---2、模块

    尚学堂requireJs课程---2.模块 一.总结 一句话总结: # 将代码以及使用放到独立的闭包中去,并且赋值给了变量,便于外部访问 # return出了函数和变量(放在一个json对象中) # ...

  9. 【闭包】JS闭包深入理解

    先看题目代码: 1 2 3 4 5 6 7 8 9 10 11 12 function fun(n,o) {  console.log(o)  return {   fun:function(m){ ...

  10. UEP的单步测试

    想起了单步测试,在这里就随便说说,本人在海颐软件工作,主要开发工具uep,这里简单说一下uep的单步测试step into;step over:step return.海颐封装的uep开发工具还是很容 ...