[BZOJ 3112][ZJOI 2013]防守战线
来源:互联网 发布:程序员教程第三版下载 编辑:程序博客网 时间:2024/04/29 22:16
题目戳[这]http://blog.csdn.net/PoPoQQQ/article/details/44312949
单纯形法
#include <bits/stdc++.h>#define maxn 1010using namespace std;int n, m;double a[maxn][maxn * 10];double b[maxn * 10], c[maxn * 10], v;void rotate(int e, int f){ b[f] /= a[f][e]; for(int i = 1; i <= n; i ++) if(i != e) a[f][i] /= a[f][e]; a[f][e] = 1.0 / a[f][e]; for(int i = 1; i <= m; i ++){ if(i == f || a[i][e] == 0)continue; b[i] -= a[i][e] * b[f]; for(int j = 1; j <= n; j ++){ if(j == e)continue; a[i][j] -= a[i][e] * a[f][j]; } a[i][e] = -a[i][e] * a[f][e]; } v += c[e] * b[f]; for(int i = 1; i <= n;i ++) if(i != e)c[i] -= c[e] * a[f][i]; c[e] = -c[e] * a[f][e];}double solve(){ int f, e, i; while(true){ for(e = 0, i = 1; i <= n; i ++) if(c[i] > 0){e = i;break;} if(e == 0)return v; double lim = 1e12; for(i = 1; i <= m; i ++) if(a[i][e] > 0 && b[i] / a[i][e] < lim) f = i, lim = b[i] / a[i][e]; rotate(e, f); }}int main(){ scanf("%d%d", &n, &m); for(int i = 1; i <= n; i ++) scanf("%lf", &b[i]); int L, R; for(int i = 1; i <= m; i ++){ scanf("%d%d%lf", &L, &R, &c[i]); for(int j = L; j <= R; j ++) a[j][i] = 1; } swap(n, m); //n个变量,m个约束条件 printf("%d", (int)(solve() + 0.1)); return 0;}
0 0
- [BZOJ 3112][ZJOI 2013]防守战线
- bzoj 3112(zjoi 2013 防守战线) 线性规划+网络流
- BZOJ 3112 防守战线
- BZOJ 3112 [Zjoi2013]防守战线
- BZOJ 3112 Zjoi2013 防守战线 单纯形
- BZOJ 3112 [Zjoi2013]防守战线 线性规划
- bzoj 3112: [Zjoi2013]防守战线 单纯形
- bzoj 3112: [Zjoi2013]防守战线 单纯形
- [BZOJ 3112][Zjoi2013]防守战线:单纯形
- BZOJ 3112([Zjoi2013]防守战线-单纯形)
- [LP对偶费用流] BZOJ 3112 [Zjoi2013]防守战线
- bzoj 3112: [Zjoi2013]防守战线 (单纯形)
- 线性规划单纯型法(bzoj 3112: [Zjoi2013]防守战线)
- BZOJ 3265 志愿者招募(BZOJ 1061)加强版 && BZOJ 3112 [Zjoi2013]防守战线 单纯形
- bzoj 3112 从 线性规划 到 网络流 浙江oi2013 战线防守
- [单纯形 || 差分费用流 || 辅助变量费用流] BZOJ 3112 [Zjoi2013]防守战线
- [BZOJ3112][Zjoi2013]防守战线
- 【BZOJ3112】[ZJOI2013]防守战线
- Python3.5.1在win7安装numpy、scipy和theano的方法
- 基于PHP的排列组合(如输入a,b,c 输出他们的全部组合)
- dubbo服务的xml配置文件报错的问题
- 从零开始_学_数据结构(三)——树的初步应用
- Swift实现断点续传,Demo简单易懂,没有太多复杂模块和逻辑,完整体现断点续传的原理
- [BZOJ 3112][ZJOI 2013]防守战线
- JavaScript中对变量和函数声明的提前
- FTP 主动模式与被动模式
- Android数据库 之 SQLite数据库
- Ubuntu 15编译vlc for android 1.9.5
- ASP.NET中的多线程整理
- [BZOJ1862][ZJOI2006]GameZ游戏排名系统(平衡树splay)
- 用开发平台快速开发中小企业信息平台
- 数组