[BZOJ 3112][Zjoi2013]防守战线:单纯形
来源:互联网 发布:刺客信条mac能玩吗 编辑:程序博客网 时间:2024/04/29 23:20
点击这里查看原题
(那个链接里没有题面,题面在这里)
单纯形裸题,因为题目中是求最大值,因此需要使用对偶原理
/*User:SmallLanguage:C++Problem No.:3112*/#include<bits/stdc++.h>#define ll long long#define inf 999999999using namespace std;const double eps=1e-6;int n,m;double c[10005],b[1005],cof[1005][10005];void pivot(int in,int out,double &res){ b[out]/=cof[out][in]; for(int i=1;i<=n;i++) if(i!=in) cof[out][i]/=cof[out][in]; cof[out][in]=1/cof[out][in]; for(int i=1;i<=m;i++) if(i!=out&&fabs(cof[i][in])>eps){ for(int j=1;j<=n;j++) if(j!=in) cof[i][j]-=cof[i][in]*cof[out][j]; b[i]-=cof[i][in]*b[out]; cof[i][in]=-cof[i][in]*cof[out][in]; } res+=c[in]*b[out]; for(int i=1;i<=n;i++) if(i!=in) c[i]-=cof[out][i]*c[in]; c[in]=-c[in]*cof[out][in];} double simplex(){ double res=0; while(1){ int in,out; for(in=1;in<=n;in++) if(c[in]>eps) break; if(in==n+1) break; double tmp=inf; for(int i=1;i<=m;i++) if(cof[i][in]>eps&&b[i]/cof[i][in]<tmp) tmp=b[i]/cof[i][in],out=i; if(tmp==inf) return inf; pivot(in,out,res); } return res;}int main(){ freopen("data.in","r",stdin);// scanf("%d%d",&m,&n); for(int i=1;i<=m;i++){ scanf("%lf",&b[i]); } for(int i=1;i<=n;i++){ int l,r; scanf("%d%d%lf",&l,&r,&c[i]); for(int j=l;j<=r;j++) cof[j][i]=1; } printf("%d\n",(int)(simplex()+0.5)); return 0;}
阅读全文
0 0
- BZOJ 3112 Zjoi2013 防守战线 单纯形
- bzoj 3112: [Zjoi2013]防守战线 单纯形
- bzoj 3112: [Zjoi2013]防守战线 单纯形
- [BZOJ 3112][Zjoi2013]防守战线:单纯形
- BZOJ 3112([Zjoi2013]防守战线-单纯形)
- bzoj 3112: [Zjoi2013]防守战线 (单纯形)
- 线性规划单纯型法(bzoj 3112: [Zjoi2013]防守战线)
- BZOJ 3265 志愿者招募(BZOJ 1061)加强版 && BZOJ 3112 [Zjoi2013]防守战线 单纯形
- BZOJ 3112 [Zjoi2013]防守战线
- [单纯形 || 差分费用流 || 辅助变量费用流] BZOJ 3112 [Zjoi2013]防守战线
- [BZOJ3112][ZJOI2013]防守战线(单纯形)
- BZOJ 3112 [Zjoi2013]防守战线 线性规划
- 【BZOJ3112】防守战线(ZJOI2013)-单纯形法+对偶理论
- 【差分+费用流|单纯形】BZOJ3112 [Zjoi2013]防守战线
- [LP对偶费用流] BZOJ 3112 [Zjoi2013]防守战线
- BZOJ 3112 防守战线
- [BZOJ3112][Zjoi2013]防守战线
- 【BZOJ3112】[ZJOI2013]防守战线
- springMvc通过Map形式接收多个参数form表单数据
- Broadcast面试详解
- RabbitMQ安装和使用(二)
- android studio 开发opencv时不安装相关的apk的方法
- InnoDB 1.1.X(MySQL5.5)数据预热 --- 持续更新
- [BZOJ 3112][Zjoi2013]防守战线:单纯形
- sizeof与strlen的区别
- shell脚本使用curl获取访问网站的状态码
- Trafodion 元数据获取数据库所有表
- 子进程的异步等待方式——SIGCHLD信号
- sql server 2012 删除数据恢复ApexSQLLog 2016
- 将自定义标签打包为jar包并提供给JSP使用
- python提取txt文档内容
- ado.net获取datagridview中选中行的信息