bzoj 1391
2024-08-25 14:50:45
建图跑最小割,加当前弧优化。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<algorithm>
#define N 3000
#define inf 0x3f3f3f3f
#define M 4000005
using namespace std;
int n,m;
int tot;
int head[N],nxt[M],ver[M],f[M];
void add(int a,int b,int c)
{
tot++;nxt[tot]=head[a];head[a]=tot;ver[tot]=b;f[tot]=c;
tot++;nxt[tot]=head[b];head[b]=tot;ver[tot]=a;f[tot]=;
}
int S,T;
int ch[N];int cur[N];
int zeng(int a,int b)
{
if(a==T)return b;
int r=;
for(int i=cur[a];i&&b>r;i=nxt[i])
{
if(ch[ver[i]]==ch[a]+&&f[i])
{
int t=zeng(ver[i],min(b-r,f[i]));
r+=t;f[i]-=t;f[i^]+=t;
if(f[i]>)cur[a]=i;
}
}
if(!r)ch[a]=-;
return r;
}
bool tell()
{
memset(ch,-,sizeof(ch));
ch[S]=;
queue<int>q;
q.push(S);
while(!q.empty())
{
int tmp=q.front();q.pop();
for(int i=head[tmp];i;i=nxt[i])
{
if(f[i]&&ch[ver[i]]==-)
{
ch[ver[i]]=ch[tmp]+;
q.push(ver[i]);
}
}
}
return ch[T]!=-;
}
int dinic()
{
int r=,t;
while(tell())
{
for(int i=;i<=T;i++)cur[i]=head[i];
while(t=zeng(S,inf))r+=t;
}
return r;
}
int v[N];
int ans;
int main()
{
tot=;
scanf("%d%d",&n,&m);int t1,t2;
S=;T=n+m+;
for(int i=;i<=n;i++)
{
int tmp;
scanf("%d%d",&v[i],&tmp);ans+=v[i];
add(i+m,T,v[i]);
for(int j=;j<=tmp;j++)
{
scanf("%d%d",&t1,&t2);
add(t1,i+m,t2);
}
}
for(int i=;i<=m;i++)
{
scanf("%d",&t1);
add(S,i,t1);
}
printf("%d\n",ans-dinic());
return ;
}
最新文章
- 【腾讯Bugly干货分享】Android性能优化典范——第6季
- Jenkins实现生产环境部署文件的回滚操作(Windows)
- 纯CSS多级菜单
- linux下proc目录详解
- poj 3034 动态规划
- 关于Weblogic 10.3.1集群及调优经历
- Java反射机制(转载)
- ffmpeg + sdl -03 简单音频播放器实现
- MySql数据库root密码修改
- Transform.TransformDirection 变换方向
- js 编码问题
- Servlet交互【重定向 与 请求分派】详解
- 结合jenkins在Linux服务器搭建测试环境
- java_BufferedReader的一个应用
- <;文档学习>;AirSim/using_car.md Choosing Your Vehicle: Car or Multirotor
- poj 3320(尺取法)
- SparkStreaming python 读取kafka数据将结果输出到单个指定本地文件
- loadrunner文本检查点
- ftp服务器问题
- 迁移数据到历史表SQL(转)
热门文章
- 每天一个设计模式-3 适配器模式(Adapteer)
- MSCRM CRM 获取PickList 字段值函数解决方案
- react-native-vector-icons的简单使用,图片,按钮,标签视图,导航条
- ButterKnife Zelezny从配置到使用
- Android HandlerThread 总结使用
- ios native工程集成react-native的demo
- IOS的七种手势
- 看看C# 6.0中那些语法糖都干了些什么(终结篇)
- Play Framework 完整实现一个APP(十四)
- ZooKeeper:第三方客户端 ZKClient