参考博客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. 2019牛客暑期多校训练营(第一场)I dp+线段树

    题意 给出n个点,每个点有a,b两个属性,让你从左下角到右上角划一条线,线的左边每个点的贡献是\(a_i\),线的右边每个点的贡献是\(b_i\),使得两部分的总和最大. 分析 找一条折线将点分割开, ...

  2. ubuntu安装扩展在phpinfo显示不出来的解决办法

    在Ubuntu中使用apt-get安装了php扩展(比如redis.memcache.memcached等),在终端输入php -m是显示已加载,但是在phpinfo中无法显示,这个时候需要重启一下p ...

  3. bootstrap列表组的使用

    <ul class="list-group"> <li class="list-group-item"> <div class=& ...

  4. 实现类数组转化成数组(DOM 操作获得的返回元素值是一个类数组)

    目标 实现类数组转化成数组 实例 链接地址 使用方法 const foo = document.querySelectorAll('.result') //链接地址输入控制台输入这行代码 const ...

  5. ESPCMS的CSRF添加管理员账号

    ESPCMS的CSRF添加管理员账号 前言 这里开始的思路是先注入进去 然后getshell 但是不关CSRF什么事 换思路 看了一下群消息  大哥发了一个视频  后台名称admin  admin12 ...

  6. Bzoj3073Journeys

    这不裸的dij吗?来,弄他. 打完以后发现不妙,这数据范围略神奇……算一算,考一场都可能跑不出来.map去重边(成功额外引入log)不怕,交.TLE,54. 这不玩呢吗,把map去了,交.MLE,71 ...

  7. [译]Webpack 4 — 神秘的SplitChunksc插件

    原文链接:Webpack 4 - Mysterious SplitChunks Plugin 官方发布了 webpack 4,舍弃了之前的 commonChunkPlugin,增加了 SplitChu ...

  8. Joda-DateTime Date 与 String 相互转换

    [参考文章]:Joda-Time 的 DateTimeFormat 问题 public class DateFormatUtils { /** HH 必须大写 */ public static fin ...

  9. NetScaler VPX configration

    境搭建概述 本文主要介绍Netscaler的安装配置,以及与StoreFront相结合,实现外网访问内网资源.当用户访问时,Netscaler Gateway Virtual Server将把请求转给 ...

  10. under the hood

    under the hood adjective a metaphorical area that contains the underlying implementation of somethin ...