LibreOJ 6001 太空飞行计划(最大流)
题解:首先源点向每个实验建边,流量为经费的值,实验向器材建边,值为无限大,器材向终点建边,值为价值
然后跑一遍最大流就能跑出所谓的最大闭合图的点值之和.
代码如下:
#include<queue>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define hi puts("hi");
#define inf 0x3f3f3f3f
using namespace std; int v[],w[],head[],next[],deep[],first[],cur[];
int n,m,s,t,cnt; void init()
{
cnt=-; //
memset(head,-,sizeof(head));
memset(next,-,sizeof(next));
} void add(int from,int to,int cost)
{
cnt++;
next[cnt]=head[from]; //
v[cnt]=to;
w[cnt]=cost;
head[from]=cnt;
} void add_edge(int from,int to,int cost)
{
add(from,to,cost);
add(to,from,);
} int bfs(int s,int t)
{
queue<int> q;
memset(deep,,sizeof(deep));
deep[s]=;
q.push(s);
while(!q.empty())
{
int u=q.front();
q.pop();
for(int i=head[u]; i!=-; i=next[i])
{
if(w[i]>&&(!deep[v[i]]))
{
deep[v[i]]=deep[u]+;
q.push(v[i]);
}
}
}
if(!deep[t])
{
return ;
}
return ;
} int dfs(int u,int t,int dist)
{
if(u==t)
{
return dist;
}
for(int i=head[u]; i!=-; i=next[i])
{
if(w[i]&&(deep[v[i]]==deep[u]+)) //!!!
{
int di=dfs(v[i],t,min(dist,w[i]));
if(di>)
{
w[i]-=di;
w[i^]+=di;
return di;
}
}
}
return ;
} int dinic(int s,int t)
{
int ans=;
while(bfs(s,t))
{
while(int d=dfs(s,t,inf))
{
ans+=d;
}
}
return ans;
} int main()
{
init();
scanf("%d%d",&m,&n);
int sum=;
s=;
t=n+m+;
int x;
char c;
for(int i=; i<=m; i++)
{
scanf("%d",&x);
sum+=x;
add_edge(s,n+i,x);
while()
{
scanf("%d%c",&x,&c);
add_edge(n+i,x,inf);
if(c=='\n'||c=='\r')
{
break;
}
}
}
for(int i=; i<=n; i++)
{
scanf("%d",&x);
add_edge(i,t,x);
}
sum-=dinic(s,t);
for(int i=;i<=m;i++)
{
if(deep[i+n])
{
printf("%d ",i);
}
}
printf("\n");
for(int i=;i<=n;i++)
{
if(deep[i])
{
printf("%d ",i);
}
}
printf("\n");
printf("%d\n",sum);
}
LibreOJ 6001 太空飞行计划(最大流)的更多相关文章
- LibreOJ #6001. 「网络流 24 题」太空飞行计划 最大权闭合图
#6001. 「网络流 24 题」太空飞行计划 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:Special Judge 上传者: 匿名 提交提交记录统计讨论测 ...
- Luogu 2762 太空飞行计划 / Libre 6001 「网络流 24 题」太空飞行计划 (网络流,最大流)
Luogu 2762 太空飞行计划 / Libre 6001 「网络流 24 题」太空飞行计划 (网络流,最大流) Description W 教授正在为国家航天中心计划一系列的太空飞行.每次太空飞行 ...
- 洛谷 P2762 太空飞行计划问题 P3410 拍照【最大权闭合子图】题解+代码
洛谷 P2762 太空飞行计划问题 P3410 拍照[最大权闭合子图]题解+代码 最大权闭合子图 定义: 如果对于一个点集合,其中任何一个点都不能到达此集合以外的点,这就叫做闭合子图.每个点都有一个权 ...
- 网络流24题:P2762 太空飞行计划问题
P2762 太空飞行计划问题 题目背景 题目描述 W 教授正在为国家航天中心计划一系列的太空飞行.每次太空飞行可进行一系列商业性实验而获取利润.现已确定了一个可供选择的实验集合E={E1,E2,…,E ...
- LOJ6001 - 「网络流 24 题」太空飞行计划
原题链接 Description 有个实验和个仪器,做实验有报酬买仪器有花费.每个实验都需要一些仪器,求最大净收益(实验报酬仪器花费),并输出一组方案. Solution 实验向所需仪器连边,实验的点 ...
- 题解 P2762 【太空飞行计划问题】
P2762 太空飞行计划问题 题目描述 W 教授正在为国家航天中心计划一系列的太空飞行.每次太空飞行可进行一系列商业性实验而获取利润.现已确定了一个可供选择的实验集合E={E1,E2,-,Em},和进 ...
- NYIST 531 太空飞行计划
太空飞行计划 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 W 教授正在为国家航天中心计划一系列的太空飞行.每次太空飞行可进行一系列商业性实验而获取利 ...
- Cogs 727. [网络流24题] 太空飞行计划(最大权闭合子图)
[网络流24题] 太空飞行计划 ★★☆ 输入文件:shuttle.in 输出文件:shuttle.out 简单对比 时间限制:1 s 内存限制:128 MB [问题描述] W 教授正在为国家航天中心计 ...
- 题解:线性规划与网络流24题 T2 太空飞行计划问题
太空飞行计划问题 问题描述 W教授正在为国家航天中心计划一系列的太空飞行.每次太空飞行可进行一系列商业性实验而获取利润.现已确定了一个可供选择的实验集合E={E1,E2,-,Em},和进行这些实验需要 ...
随机推荐
- implicit declaration of function 'init_MUTEX'
'init_MUTEX' 在新版本系统上已被淘汰 改用sema_init(sem, 1);
- redis和phpredis扩展的安装
redis的安装https://code.google.com/p/redis/downloads/list下载redisredis-2.6.13.tar.gztar -xvzf redis-2.6. ...
- linux文件系统命令和分区 挂载
文件系统命令df [选项][挂载点]选项:-a 显示所有的文件系统信息,包括特殊文件,如/proc,/sysfs-h 使用习惯单位显示容量,如KB,MB或GB等-T 显示文件系统类型-m 以MB为单位 ...
- log4net内部调试开启
最近用log4net写入日志到mysql数据库,死活写不进去,就想能不能看log4net的错误记录,在网上一找,还真有:开启log4net的内部调试,作个记录: <appSettings> ...
- php解析base64数据成图片
$base64 = "/9j/4AAQSkZJRgABAQEAkACQAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAA ...
- 如何在windows7中使用“专用字符编辑器”中的字
工具/原料 win7电脑 系统自带的“专用字符编辑器” 系统自带的“字符映射表” 百度经验:jingyan.baidu.com 方法/步骤 1 点击开始→所有程序→附件→系统工具→专用字符编辑器: 步 ...
- String to Integer (atoi) ???
#define INT_MAX 2147483647 #define INT_MIN -2147483648 class Solution { public: int atoi(const char ...
- autoit 简单使用-- 操作windows窗口
autoit 简单使用 autoit中文交流论坛: http://www.autoitx.com/index.php 1 下载 autoit 中文安装包 : https://yunpan.cn/OcP ...
- Apache配置中ProxyPass与ProxyPassReverse及ProxyPassMatch的概述
apache中的mod_proxy模块主要作用就是进行url的转发,即具有代理的功能.应用此功能,可以很方便的实现同tomcat等应用服务器的整合,甚者可以很方便的实现web集群的功能. 例如使用ap ...
- Windows + Ubuntu 双系统安装
前言:本篇文章是对之前文章的更新,更新的主内容是把原来用手机拍摄的图片换成了虚拟机的截图,以及对磁盘划分的新的见解和一些使用感受,原本是打算删除之前的那篇Win + Ubuntu双系统的文章的,后来想 ...