1877: [SDOI2009]晨跑 费用流
来源:互联网 发布:centos输入法下载 编辑:程序博客网 时间:2024/05/16 10:54
拆点费用流。。
#include<iostream>#include<cstdio>#include<cstring>#define M 405#define inf 1000000007using namespace std;int n,m,T,cnt=1,ans1,ans2;int head[405],dis[405],q[405],path[405];bool vis[405];int list[50005],next[50005],from[50005],flow[50005],cost[50005];inline int read(){ int a=0,f=1; char c=getchar(); while (c<'0'||c>'9') {if (c=='-') f=-1; c=getchar();} while (c>='0'&&c<='9') {a=a*10+c-'0'; c=getchar();} return a*f;}inline void insert(int x,int y,int z,int w){ next[++cnt]=head[x]; head[x]=cnt; from[cnt]=x; list[cnt]=y; flow[cnt]=z; cost[cnt]=w;}inline bool spfa(){ for (int i=1;i<=T;i++) dis[i]=inf; dis[1]=0; q[1]=1; vis[1]=1; int t=0,w=1,x; while (t!=w) { t=(t+1)%M; x=q[t]; for (int i=head[x];i;i=next[i]) if (flow[i]&&dis[list[i]]>dis[x]+cost[i]) { dis[list[i]]=dis[x]+cost[i]; path[list[i]]=i; if (!vis[list[i]]) { vis[list[i]]=1; w=(w+1)%M; q[w]=list[i]; } } vis[x]=0; } return dis[T]!=inf;}inline void mcf(){ int x=inf; for (int i=path[T];i;i=path[from[i]]) x=min(x,flow[i]); for (int i=path[T];i;i=path[from[i]]) ans2+=x*cost[i],flow[i]-=x,flow[i^1]+=x; ans1+=x;}int main(){ n=read(); m=read(); T=2*n; for (int i=1;i<=m;i++) { int u=read(),v=read(),w=read(); insert(u+n,v,1,w); insert(v,u+n,0,-w); } insert(1,n+1,inf,0); insert(n+1,1,0,0); insert(n,n+n,inf,0); insert(n+n,n,0,0); for (int i=2;i<n;i++) insert(i,i+n,1,0),insert(i+n,i,0,0); while (spfa()) mcf(); cout << ans1 << " " << ans2 << endl; return 0;}
0 0
- 1877: [SDOI2009]晨跑 费用流
- 1877: [SDOI2009]晨跑 (最小费用最大流)
- bzoj 1877: [SDOI2009]晨跑 费用流
- Bzoj 1877: [SDOI2009]晨跑(费用流)
- [BZOJ 1877][SDOI2009]晨跑(费用流)
- BZOJ 1877 [SDOI2009]晨跑 费用流
- [SDOI2009]晨跑 bzoj 1877 费用流
- [BZOJ1877]SDOI2009晨跑|费用流
- bzoj1877[SDOI2009]晨跑【费用流】
- 【bzoj1877】【SDOI2009】【晨跑】【费用流】
- bzoj1877 SDOI2009晨跑 费用流
- [bzoj1877][SDOI2009]晨跑 费用流
- BZOJ 1877: [SDOI2009]晨跑 费用流拆点
- [BZOJ1877][SDOI2009]晨跑(费用流)
- 费用流 模板【SDOI2009】bzoj1877 晨跑
- [SDOI2009] 晨跑 (费用流) ---链表 VS Vector
- bzoj1877: [SDOI2009]晨跑(费用流)
- bzoj1877 [SDOI2009]晨跑(费用流)
- 程序员常用Photoshop工具教程 (格式转换,裁剪)
- Volley源码解析
- Android使用Webview显示网页
- WKWebView 加载Html
- dedecms自定义获取上级栏目名称和链接的标签 (返回上级栏目按钮)
- 1877: [SDOI2009]晨跑 费用流
- Linux中JDK1.6的安装和配置方法
- 备忘录模式
- Noi2001食物链
- cocos2d-x中android中设置横屏和竖屏
- 工作半年的总结。
- POJ 1164 The Castle
- 自定义View实现TextView中的DrawableLeft缺陷
- 心动著境即是魔,随缘分别则无定