题解:

似乎是放在费用流里的

然而是有上下界的网络流QAQ

代码:

#include<bits/stdc++.h>
using namespace std;
const int N=;
int n,m,x,mincost,s,t,S,ss,tt,tot,fi[N],ne[N],zz[N],sl[N],c[N];
int dis[N],last[N],d[N],vis[N];
queue <int> q;
void jb(int x,int y,int cap,int z)
{
ne[++tot]=fi[x];
fi[x]=tot;
zz[tot]=y;
sl[tot]=cap;
c[tot]=z;
ne[++tot]=fi[y];
fi[y]=tot;
zz[tot]=x;
sl[tot]=;
c[tot]=-z;
}
int addflow(int s,int t)
{
int now=t,ans=1e9;
while (now!=s)
{
ans=min(ans,sl[last[now]]);
now=zz[last[now]^];
}
now=t;
while (now!=s)
{
sl[last[now]]-=ans;
sl[last[now]^]+=ans;
now=zz[last[now]^];
}
return ans;
}
int spfa(int s,int t)
{
memset(dis,,sizeof(dis));
dis[s]=;
memset(vis,,sizeof(vis));
vis[s]=;
while (!q.empty())q.pop();
q.push(s);
while (!q.empty())
{
int now=q.front();q.pop();
vis[now]=;
for (int i=fi[now];i!=-;i=ne[i])
if (dis[zz[i]]>dis[now]+c[i]&&sl[i])
{
dis[zz[i]]=dis[now]+c[i];
last[zz[i]]=i;
if (!vis[zz[i]])
{
vis[zz[i]]=;
q.push(zz[i]);
}
}
}
if (dis[t]>1e9) return ;
int flow=addflow(s,t);
mincost+=flow*dis[t];
return ;
}
int main()
{
tot=-;
memset(fi,-,sizeof(fi));
scanf("%d%d",&n,&m);
S=n+n+,s=S+,t=s+;ss=t+,tt=ss+;
d[s]-=m,d[S]+=m;
for (int i=;i<=n;i++)
{
scanf("%d",&x);
jb(S,i,1e9,);
jb(n+i,t,1e9,);
d[i]-=x,d[n+i]+=x;
}
for (int i=;i<n;i++)
for (int j=i+;j<=n;j++)
{
scanf("%d",&x);
if (x==-) continue;
jb(n+i,j,1e9,x);
}
for (int i=;i<=t;i++)
{
if (d[i]>)jb(ss,i,d[i],);
if (d[i]<)jb(i,tt,-d[i],);
}
jb(t,s,1e9,);
while (spfa(ss,tt));
printf("%d\n",mincost);
}

bzoj2055的更多相关文章

  1. 【BZOJ2055】80人环游世界 有上下界费用流

    [BZOJ2055]80人环游世界 Description     想必大家都看过成龙大哥的<80天环游世界>,里面的紧张刺激的打斗场面一定给你留下了深刻的印象.现在就有这么     一个 ...

  2. 【BZOJ-2055】80人环游世界 上下界费用流 (无源无汇最小费用最大流)

    2055: 80人环游世界 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 321  Solved: 201[Submit][Status][Discus ...

  3. BZOJ2055: 80人环游世界

    题解: 总算A掉了,各种蛋疼... int main() { freopen("input.txt","r",stdin); freopen("out ...

  4. [BZOJ2055]80人环游世界 有上下界最小费用最大流

    2055: 80人环游世界 Time Limit: 10 Sec  Memory Limit: 64 MB Description     想必大家都看过成龙大哥的<80天环游世界>,里面 ...

  5. bzoj千题计划159:bzoj2055: 80人环游世界(有源汇上下界可行最小费用流)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2055 某个国家必须经过vi次, 可以转化为上下界都为vi的边 对这张图做有源汇上下界可行最小费用流 ...

  6. BZOJ2055 80人环游世界 网络流 费用流 有源汇有上下界的费用流

    https://darkbzoj.cf/problem/2055 https://blog.csdn.net/Clove_unique/article/details/54864211 ←对有上下界费 ...

  7. [BZOJ2055] 80人环游世世界

    Description ​ 想必大家都看过成龙大哥的<80天环游世界>,里面的紧张刺激的打斗场面一定给你留下了深刻的印象.现在就有这么 ​ 一个80人的团伙,也想来一次环游世界. ​ 他们 ...

  8. bzoj2055: 80人环游世界(可行流)

    传送门 表示完全看不懂最小费用可行流…… 据某大佬说 我们考虑拆点,然后进行如下连边 $s$向$a_i$连边,权值$0$,容量$[0,m]$ $a_i$向$a_i'$连边,权值$0$容量$[v_i,v ...

  9. 【上下界网络流 费用流】bzoj2055: 80人环游世界

    EK费用流居然写错了…… Description     想必大家都看过成龙大哥的<80天环游世界>,里面的紧张刺激的打斗场面一定给你留下了深刻的印象.现在就有这么     一个80人的团 ...

随机推荐

  1. Linux环境下的Scala环境搭建

    1.下载tag软件包后,我习惯放到software文件夹下,并建立app文件夹2.通过tar -zxvf scala-2.12.8.tgz -C ~/app/ 命令解压到app目录下(-C 是指定目录 ...

  2. AD原理图统一命名

    1 Tools->Annotate Schematics 调出统一命名窗口 2 勾选要统一命名的原理图 3 Update Changes List 4 Accept Changes(creat ...

  3. springBoot集成Redis遇到的坑(择库)源码分析为什么择库失败

    提示: springboot提供了一套链接redis的api,也就是个jar包,用到的连接类叫做LettuceConnectionConfiguration,所以我们引入pom时是这样的 <de ...

  4. Golang的session管理器

    对于一些需要对用户进行管理(比如验证操作的权限等)的站点来说,session管理器是必不可少的.下面实现了一个线程安全的简单session管理类.生产环境:golang1.4.2+win7x64gol ...

  5. Basic Calculator 基本计算器

    2018-09-27 22:02:36 一.Basic Calculator II 问题描述: 问题求解: sign用来保存前一个符号,用num来记录数字,如果碰到一个符号或者到达结尾,则需要进行入栈 ...

  6. top 内存mem的used很高,或者100%

    top 内存mem的used很高,或者100% Linux服务器运行一段时间后,由于其内存管理机制,会将暂时不用的内存转为buff/cache,这样在程序使用到这一部分数据时,能够很快的取出,从而提高 ...

  7. linux常用命令及系统常见符号

    常用命令 1.start x 进入界面 2.shutdown -h now 立刻关机 shutdown -r now 立刻重新启动 reboot 立刻重新启动 3.su root 切换成超级管理员 4 ...

  8. pip3 install requests Cannot open D:\Python35\Scripts\pip3-script.py

    1.问题描述: 使用pip(或pip3)指令安装模块时,出现了Cannot open D:\Python35\Scripts\pip3-script.py的报错信息 2.原因分析: pip安装出错 3 ...

  9. java.lang.RuntimeException: Unable to start activity ComponentInfo……AppCompat does not support the current theme features

    Android测试时出现闪退的问题,出现了如下所示异常: java.lang.RuntimeException: Unable to start activity ComponentInfo{thon ...

  10. Post四种Content-Type

    application/x-www-form-urlencoded 这应该是最常见的 POST 提交数据的方式了.浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 app ...