bzoj 4819: [Sdoi2017]新生舞会
Description
Input
Output
Sample Input
19 17 16
25 24 23
35 36 31
9 5 6
3 4 2
7 8 9
Sample Output
HINT
Source
// MADE BY QT666
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<iostream>
#include<cstring>
#include<vector>
#define RG register
#define int long long
using namespace std;
typedef long long ll;
const int N=100000;
const double eps=1e-9;
const double Inf=19260817.0;
int gi() {
int x=0,flag=1;
char ch=getchar();
while(ch<'0'||ch>'9') {if(ch=='-') flag=-1;ch=getchar();}
while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar();
return x*flag;
}
int n,ans,flag1,flag2;
int head[N],nxt[N],to[N],s[N],cnt=1,S,T;
double cc[N],dis[N],cost;
int a[300][300],b[300][300];
int level[N],q[N*10],F,fa[N],W[N];
struct data {
int l,r,s,t;
} hh[N];
inline void Addedge(RG int x,RG int y,RG int z,RG double u) {
to[++cnt]=y,s[cnt]=z,cc[cnt]=u,nxt[cnt]=head[x],head[x]=cnt;
}
inline void lnk(RG int x,RG int y,RG int z,RG double u) {
Addedge(x,y,z,u),Addedge(y,x,0,-u);
}
inline bool spfa() {
for(RG int i=S; i<=T; i++) dis[i]=Inf,W[i]=0;
RG int t=0,sum=1;
q[0]=S,W[S]=1,dis[S]=0;
while(t<sum) {
RG int x=q[t++];
W[x]=0;
for(RG int i=head[x];i;i=nxt[i]) {
RG int y=to[i];
if(s[i]&&dis[y]-(dis[x]+cc[i])>=eps) {
dis[y]=dis[x]+cc[i];
fa[y]=i;
if(!W[y]) W[y]=1,q[sum++]=y;
}
}
}
if(dis[T]==Inf) return 0;
RG int f=Inf;
for(RG int i=fa[T];i;i=fa[to[i^1]]) f=min(f,s[i]);
for(RG int i=fa[T];i;i=fa[to[i^1]]) s[i]-=f,s[i^1]+=f;
cost+=dis[T]*f;
return 1;
}
inline void Maxcost() {
while(spfa());
}
inline bool check(RG double mid){
cnt=1;memset(head,0,sizeof(head));
for(RG int i=1;i<=n;i++)
for(RG int j=1;j<=n;j++)
lnk(i,j+n,1,-(a[i][j]-mid*b[i][j]));
for(RG int i=1;i<=n;i++) lnk(S,i,1,0),lnk(i+n,T,1,0);
cost=0;Maxcost();cost=-cost;
return cost-0>=eps;
}
main() {
freopen("1.in","r",stdin);
n=gi();S=0,T=2*n+1;
for(RG int i=1;i<=n;i++)
for(RG int j=1;j<=n;j++)
a[i][j]=gi();
for(RG int i=1;i<=n;i++)
for(RG int j=1;j<=n;j++)
b[i][j]=gi();
double l=0,r=10000.0,ans=0;
while(r-l>=eps){
double mid=(l+r)/2;
if(check(mid)) l=mid,ans=mid;
else r=mid;
}
printf("%.6f",ans);
}
bzoj 4819: [Sdoi2017]新生舞会的更多相关文章
- BZOJ.4819.[SDOI2017]新生舞会(01分数规划 费用流SPFA)
BZOJ 洛谷 裸01分数规划.二分之后就是裸最大费用最大流了. 写的朴素SPFA费用流,洛谷跑的非常快啊,为什么有人还T成那样.. 当然用二分也很慢,用什么什么迭代会很快. [Update] 19. ...
- BZOJ 4819 [Sdoi2017]新生舞会 ——费用流 01分数规划
比值最大 分数规划 二分答案之后用费用流进行验证. 据说标称强行乘以1e7换成了整数的二分. 不过貌似实数二分也可以过. #include <map> #include <cmath ...
- bzoj 4819: [Sdoi2017]新生舞会【二分+最小费用最大流】
如果\( b[i]==0 \)那么就是裸的费用流/KM,当然KM快一些但是为什么不写KM呢因为我不会打板子了 考虑二分答案,那么问题变成了判定问题. \[ ans=\frac {a_1+a_2+... ...
- 【BZOJ 4819】 4819: [Sdoi2017]新生舞会 (0-1分数规划、二分+KM)
4819: [Sdoi2017]新生舞会 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 601 Solved: 313 Description 学校 ...
- 4819: [Sdoi2017]新生舞会(分数规划)
4819: [Sdoi2017]新生舞会 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1031 Solved: 530[Submit][Statu ...
- 4819: [Sdoi2017]新生舞会 分数规划
题目 https://www.lydsy.com/JudgeOnline/problem.php?id=4819 思路 分数规划的模板题?(好菜呀) 假如n=3吧(懒得写很长的式子) \(c=\fra ...
- [BZOJ4819][SDOI2017]新生舞会(分数规划+费用流,KM)
4819: [Sdoi2017]新生舞会 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1097 Solved: 566[Submit][Statu ...
- [Sdoi2017]新生舞会 [01分数规划 二分图最大权匹配]
[Sdoi2017]新生舞会 题意:沙茶01分数规划 貌似\(*10^7\)变成整数更科学 #include <iostream> #include <cstdio> #inc ...
- BZOJ_4819_[Sdoi2017]新生舞会_01分数规划+费用流
BZOJ_4819_[Sdoi2017]新生舞会_01分数规划+费用流 Description 学校组织了一次新生舞会,Cathy作为经验丰富的老学姐,负责为同学们安排舞伴.有n个男生和n个女生参加舞 ...
随机推荐
- ecshop根据订单号查询物流信息
目标:订单详情页可以根据订单查询当前物流信息. 效果图: 思路:点击后异步请求快递查询api,接受返回信息,拼接. 代码: admin下:order_info.htm //一:顶部插入jquery,在 ...
- Gitlab自动触发Jenkins构建打包
一.目的 在部门的测试环境中,开发人员一旦向gitlab仓库提交成功代码,gitlab就会自动触发jenkins构建项目.当然在构建后还可以添加项目部署或者自动化测试的脚本.这里只针对测试环境. 二. ...
- LINQ学习系列-----2.3 迭代器带来的延迟查询
此篇博文承接上一篇博文: LINQ学习系列-----2.2 迭代器 一.第一次执行 废话不多说,上源码: 执行结果下图: 为什么会这样?其实原因很简单 fro ...
- sublime3配置php环境
最后的演示效果: 1. 按照sublime3开始前的准备工作 Ctrl+Shift+P,再输入install ,最后再输入想要安装的软件 (输入install会有几十秒的延迟,请不要重复操作) 配置p ...
- NYOJ 119 士兵杀敌(三) RMQ ST
NYOJ 119 士兵杀敌(三) RMQ ST 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=119 思路: ST在线 预处理O(nlog ...
- 用phpmailer发送邮件提示SMTP Error: Could not connect to SMTP host解决办法
之前做项目的时候做了一个用phpmailer发送邮件的功能<CI框架结合PHPmailer发送邮件>,昨天步署上线(刚开始用新浪云,嫌贵,换成阿里了),测试的时候,发送邮件却意外报错了.. ...
- 【深度学习系列】用PaddlePaddle和Tensorflow实现经典CNN网络Vgg
上周我们讲了经典CNN网络AlexNet对图像分类的效果,2014年,在AlexNet出来的两年后,牛津大学提出了Vgg网络,并在ILSVRC 2014中的classification项目的比赛中取得 ...
- 【luogu P1471】方差
https://www.luogu.org/problem/show?pid=1471 一眼就能看出是线段树/树状数组题目了. 求平均不用说,线段树/树状数组维护区间和即可. 方差怎么求?先变换下方差 ...
- AspNet Core Api Restful 实现微服务之旅 (一)
(一)了解微服务(二)搭建VS项目框架 (三)创建AspNet Core Api VS2017 安装包 链接:https://pan.baidu.com/s/1hsjGuJq 密码:ug59 创 ...
- canvas 从初级到XX 1# 部分非基础原生API的使用 [初级向]
标题canvas 从初级到XX,XX是因为本文随机都可能会太监,并不会支持到入土.请慎重的往下看. 对于canvas的介绍,随处都可以找到,也就不啰嗦太多了.就直奔主题了. 先看一段代码,以及实现的效 ...