【BZOJ】【P1520】【POI2006】【Szk-Schools】【题解】【费用流】
来源:互联网 发布:split 第二个参数 java 编辑:程序博客网 时间:2024/06/07 00:20
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1520
费用流不解释
Code:
#include<bits/stdc++.h>#define in(i) (i<<1)#define out(i) (i<<1|1)using namespace std;const int maxn=410;int n,s,t;struct edge{int u,v,cap,flow,cost;edge(int _u=0,int _v=0,int _cap=0,int _flow=0,int _cost=0):u(_u),v(_v),cap(_cap),flow(_flow),cost(_cost){}};vector<edge>edges;vector<int>G[maxn];int pre[maxn],a[maxn],d[maxn],vis[maxn],cost,flow;void add(int u,int v,int cap,int cost){edges.push_back(edge(u,v,cap,0,cost));G[u].push_back(edges.size()-1);edges.push_back(edge(v,u,0,0,-cost));G[v].push_back(edges.size()-1);}bool spfa(){queue<int>q;q.push(s);memset(d,0x4f,sizeof d);int B=d[0];d[s]=0;a[s]=INT_MAX;while(!q.empty()){int u=q.front();q.pop();vis[u]=0;for(int i=0;i<G[u].size();i++){edge e=edges[G[u][i]];if(e.cap>e.flow&&d[e.v]>d[u]+e.cost){d[e.v]=d[u]+e.cost;pre[e.v]=G[u][i];a[e.v]=min(a[u],e.cap-e.flow);if(!vis[e.v]){vis[e.v]=1;q.push(e.v);}}}}if(d[t]==B)return false;cost+=d[t]*a[t];flow+=a[t];for(int u=t;u!=s;u=edges[pre[u]].u){edges[pre[u]].flow+=a[t];edges[pre[u]^1].flow-=a[t];}return true;}int m[maxn],l[maxn],r[maxn],k[maxn];int main(){scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d%d%d%d",&m[i],&l[i],&r[i],&k[i]);s=0,t=n*2+1;for(int i=1;i<=n;i++){add(s,i,1,0);for(int j=l[i];j<=r[i];j++)add(i,j+n,1,k[i]*abs(m[i]-j));add(i+n,t,1,0);}while(spfa());if(flow==n)cout<<cost<<endl;else puts("NIE");return 0;}
0 0
- 【BZOJ】【P1520】【POI2006】【Szk-Schools】【题解】【费用流】
- [bzoj]1520: [POI2006]Szk-Schools
- BZOJ1520: [POI2006]Szk-Schools
- 【bzoj1520】 [POI2006]Szk-Schools
- bzoj1520:[POI2006]Szk-Schools 二分图最优匹配
- BZOJ: [POI2008]激光发射器SZK 题解
- BZOJ 3130 [Sdoi2013]费用流 题解
- 【BZOJ】【P1121】【POI2008】【激光发射器SZK】【题解】【乱搞】
- 【BZOJ】【P1510】【POI2006】【Kra-The Disks】【题解】【前缀min+二分】
- 【BZOJ】【P2542】【CTSC2001】【终极情报网】【费用流】【题解】
- 【BZOJ】【P1930】【Shoi2003】【pacman 吃豆豆】【题解】【费用流】
- 【BZOJ】【P2893】【征服王】【题解】【缩点费用流】
- 【BZOJ】【P2597】【Wc2007】【剪刀石头布】【题解】【费用流】
- BZOJ 1517 [POI2006]Met
- bzoj 1442: [Poi2006]Crystal
- bzoj-3130 费用流
- bzoj 3130 费用流
- bzoj 2424(费用流)
- 第十周项目 4 大奖赛计分(拓展3:连续输入选手成绩)
- js获取jsf输入输出控件的值
- 第10周项目6-贪财的富翁
- 新浪微博的编码规范
- easyui树节点拖拽排序的存储过程
- 【BZOJ】【P1520】【POI2006】【Szk-Schools】【题解】【费用流】
- C++拷贝构造函数(深拷贝,浅拷贝)
- HDU5088(高斯消元)
- 《SQL Server企业级平台管理实践》读书笔记——关于SQL Server数据库的备份方式
- Openvswitch手册(3): sFlow, netFlow
- JavaWeb学习(三)----JSP内置对象详解
- 剃胎发使头发更多?民间育儿说法对错大揭底
- dedecms二次开发:自定义模型使用教程
- 百度字数统计代码研究