SDOI2017 新生舞会

01规划

 

a1+a2+a3+...+ai/b1+b2+b2+..bi最大

 

设一个k

使得

  a1+a2+a3+...+ai/b1+b2+b3+...bi>=k

 

变换式子得到

  a1+a2+a3+...ai>=(b1+b2+b3+..+bi)*k

  a1-b1*k+a2-b2*k+a3-b3*k+...+ai-bi*k>=0

 

  ai-bi*k即流量

  最大费用流+二分答案

 

来,上代码:

#include <cmath>
#include <cstdio>
#include <iostream>using namespace std;#define eps 1e-8
#define maxn 205int ai[maxn][maxn],bi[maxn][maxn],ma,mi,pre[maxn],s,t,h,tail,cnt;
int n,head[maxn],E[maxn*maxn],V[maxn*maxn],F[maxn*maxn],que[maxn<<8];double W[maxn*maxn],suma,sumb,dis[maxn];bool if_[maxn];inline void in(int &now_)
{register int now=0;register char Cget=getchar();while(Cget>'9'||Cget<'0') Cget=getchar();while(Cget>='0'&&Cget<='9'){now=now*10+Cget-'0';Cget=getchar();}now_=now;
}inline bool spfa()
{for(int i=s;i<=t;i++) dis[i]=-1e6,pre[i]=-1,if_[i]=false;h=maxn<<4,tail=h+1,que[h]=s,dis[s]=0,if_[s]=true;while(h<tail){register int now=que[h++];if_[now]=false;for(register int i=head[now];i;i=E[i]){if(dis[V[i]]<dis[now]+W[i]&&F[i]>0){pre[V[i]]=i;dis[V[i]]=dis[now]+W[i];if(!if_[V[i]]){if_[V[i]]=true;if(dis[V[i]]>dis[que[h]]) que[--h]=V[i];else que[tail++]=V[i];}}}}return dis[t]!=-1e6;
}int main()
{freopen("ball.in","r",stdin);freopen("ball.out","w",stdout);in(n);t=n<<1|1;for(register int i=1;i<=n;i++){ma=0;for(register int j=1;j<=n;j++) in(ai[i][j]),ma=max(ma,ai[i][j]);suma+=ma;}for(register int i=1;i<=n;i++){mi=0x7fffffff;for(register int j=1;j<=n;j++) in(bi[i][j]),mi=min(mi,bi[i][j]);sumb+=mi;}double l=0,r=suma/sumb,mid,ans;while(r-l>eps){mid=(l+r)/2.0,cnt=1;for(register int i=s;i<=t;i++) head[i]=0;for(register int i=1;i<=n;i++){E[++cnt]=head[s],V[cnt]=i,F[cnt]=1,W[cnt]=0,head[s]=cnt;E[++cnt]=head[i],V[cnt]=s,F[cnt]=0,W[cnt]=0,head[i]=cnt;E[++cnt]=head[t],V[cnt]=i+n,F[cnt]=0,W[cnt]=0,head[t]=cnt;E[++cnt]=head[i+n],V[cnt]=t,F[cnt]=1,W[cnt]=0,head[i+n]=cnt;for(register int j=1;j<=n;j++){register int o=j+n;register double pos=(double)ai[i][j]-mid*bi[i][j];E[++cnt]=head[i],V[cnt]=o,F[cnt]=1,W[cnt]=pos,head[i]=cnt;E[++cnt]=head[o],V[cnt]=i,F[cnt]=0,W[cnt]=-pos,head[o]=cnt;}}double sum=0;while(spfa()){sum+=dis[t];register int now=t;while(pre[now]!=-1) F[pre[now]]--,F[pre[now]^1]++,now=V[pre[now]^1];}if(sum>0) ans=mid,l=mid+eps;else r=mid-eps;}printf("%.6lf",ans);fclose(stdin),fclose(stdout);return 0;
}

 

转载于:https://www.cnblogs.com/IUUUUUUUskyyy/p/6691178.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 .NET 中使用 FluentValidation 进行参数验证

不用说&#xff0c;参数验证很重要&#xff0c;无效的参数&#xff0c;可能会导致程序的异常。如果使用Web API或MVC页面&#xff0c;那么可能习惯了自带的规则验证&#xff0c;我们的控制器很干净&#xff1a;public class User {[Required]public string FirstName { get; se…

在win10系统下怎样快速切换任务视图

2019独角兽企业重金招聘Python工程师标准>>> 切换窗口&#xff1a;Alt Tab 任务视图&#xff1a;Win Tab (松开键盘界面不会消失) 切换任务视图&#xff1a;Win Ctrl 左/右 创建新的虚拟桌面&#xff1a;Win Ctrl D 关闭当前虚拟桌面&#xff1a;Win Ctrl F4…

uwp应用在debug模式下运行正常,编译为release版本的时候抛出异常

原因是在代码中使用了dynamic关键字&#xff0c;导致release时.net native优化了代码造成元数据丢失 所以在代码中要尽量不用dynamic。转载于:https://www.cnblogs.com/poison/p/7532142.html

Linux上搭建Samba,实现windows与Linux文件数据同步

一 环境介绍 1. 本地win10 2. Linux (centos7.4) 注&#xff1a;因为运营商方面禁止smb协议&#xff0c;导致无法在云服务器上使用smb&#xff0c;如果不是在虚拟机上操作&#xff0c;而是在云服务器上操作&#xff0c;建议还是使用 filezillaxshell组合 或者 使用finalshell等…

A5-1和DES两个加密算法的学习

A5-1加密算法 1、基本原理 A5-1加密算法是一种流password&#xff0c;通过密钥流对明文进行加密。然后用密钥流进行对密文的解密操作。 这样的算法主要用于GSM加密。也就是我们平时打电话的时候。通信数据发送到基站&#xff0c;基站发送到还有一个基站&#xff0c;基站发送到接…

从0到1简易区块链开发手册V0.3-数据持久化与创世区块

Author: brucefeng Email: brucefengbrucefeng.com 编程语言:Golang 1.BoltDB简介 Bolt是一个纯粹Key/Value模型的程序。该项目的目标是为不需要完整数据库服务器&#xff08;如Postgres或MySQL&#xff09;的项目提供一个简单&#xff0c;快速&#xff0c;可靠的数据库。 Bolt…

ELK之elasticsearch5.6的安装和head插件的安装

这里选择的elasticsearch为5.6的新版本&#xff0c;根据官方文档有几种暗装方式&#xff1a; https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html 这里选择rpm包安装https://www.elastic.co/guide/en/elasticsearch/reference/curre…

Nginx 基础(一)

一 、Nginx简述 Nginx是一个开源、高性能、可靠的HTTP中间件、代理服务。二 、常见的HTTP服务 1. HTTPD-Apache基金会 2. IIS-微软 3. GWS-Google 4. Nginx三、为什么选择Nginx 原因一&#xff1a;IO多路复用epoll &#xff08;主要解决了并发性的问题&#xff09; 注1&#xf…

Ajax基本案例详解之load的实现

Ajax的load实现&#xff1a; 看这篇之前建议大家去看看前面两篇文章&#xff1a; 1.Ajax基本案例详解之$.ajax的实现 2.Ajax基本案例详解之$.get的实现 现在写一下$.load()里面的主要内容&#xff1a; $("#semail").load("doindex.jsp","email1&q…

ASP.NET Core高性能服务器HTTP.SYS

如果我们只需要将ASP.NET CORE应用部署到Windows环境下&#xff0c;并且希望获得更好的性能&#xff0c;那么我们选择的服务器类型应该是HTTP.SYS。Windows环境下任何针对HTTP的网络监听器/服务器在性能上都无法与HTTP.SYS比肩。[本文节选《ASP.NET Core 6框架揭秘》第18章]一、…

神经网络- receptive field

记录一下感受野的理解&#xff1a; 在神经网络中&#xff0c;感受野的定义是&#xff1a; 神经网络的每一层输出的特征图&#xff08;Feature ap&#xff09;上的像素点在原图像上映射的区域大小。 1. 神经网络中&#xff0c;第一个卷积层的 感受野大小&#xff0c;就等于filt…

734. [网络流24题] 方格取数问题 二分图点权最大独立集/最小割/最大流

问题描述&#xff1a;在一个有m*n 个方格的棋盘中&#xff0c;每个方格中有一个正整数。现要从方格中取数&#xff0c;使任意2 个数所在方格没有公共边&#xff0c;且取出的数的总和最大。试设计一个满足要求的取数算法。编程任务&#xff1a;对于给定的方格棋盘&#xff0c;按…

Nginx 基础 ( 二)

一、HTTP请求 http请求包括客户端请求服务端 以及 服务端响应数据回客户端&#xff0c;如下 请求&#xff1a;包括请求行、请求头部、请求数据 响应&#xff1a;包括状态行、消息报头、响应正文 比如在Linux中curl请求网站获取请求信息和响应信息 curl -v http://www.kugou.com…

《金融行业应用解决方案白皮书》发布,金融自主创新未来可期!

日前&#xff0c;以“聚势赋能 行业共创”为主题的金融行业解决方案发布会在线上举行。麒麟软件发布《金融行业应用解决方案白皮书》&#xff0c;并发起成立“金融机具生态圈俱乐部”&#xff0c;助力金融行业用户高质量发展。金融信息系统曾经被国外厂商垄断金融信息系统作为国…

leetcode53 Maximum Subarray 最大连续子数组

题目要求 Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [-2,1,-3,4,-1,2,1,-5,4], the contiguous subarray [4,-1,2,1] has the largest sum 6.即&#xff1a;寻找数列中的一个子…

黑马程序员-WEB前端与移动开发就业班

Web前端 — IT互联网的“门面”有人的地方就有江湖&#xff0c;有网站的地方就有Web前端&#xff0c;无所不用&#xff0c;互联网大势所在。课程循序渐进&#xff0c;技术小白课快速上手课程结构由浅入深&#xff0c;基础课程讲解充分&#xff0c;了解网页的结构组成、分析页面…

详解go语言的array和slice 【二】

上一篇 详解go语言的array和slice 【一】已经讲解过,array和slice的一些基本用法&#xff0c;使用array和slice时需要注意的地方&#xff0c;特别是slice需要注意的地方比较多。上一篇的最后讲解到创建新的slice时使用第三个索引来限制slice的容量&#xff0c;在操作新slice时…

详解Objective-C的meta-class

2019独角兽企业重金招聘Python工程师标准>>> 比较简单的一篇英文&#xff0c;重点是讲解meta-class。翻译下&#xff0c;加深理解。 原文标题&#xff1a;What is a meta-class in Objective-C? 原文地址&#xff1a;http://www.cocoawithlove.com/2010/01/what-is…

Nginx 模块的使用

Nginx模块的使用,就是在Nginx配置文件中的http、server、location中添加参数&#xff0c;进行多一项或几项处理一、 实现响应内容替换 1、sub_module二、Nginx的请求限制 1、连接频率限制 limit_conn_module 2、请求频率限制 limit_req_module 注: HTTP请求建立在一次…

Question | 网站被黑客扫描撞库该怎么应对防范?

本文来自网易云社区在安全领域向来是先知道如何攻&#xff0c;其次才是防。针对题主的问题&#xff0c;在介绍如何防范网站被黑客扫描撞库之前&#xff0c;先简单介绍一下什么是撞库。撞库是黑客通过收集互联网已泄露的用户和密码信息&#xff0c;生成对于的字典表&#xff0c;…