usaco 2016 Feb 负载平衡
题目大意:平面上一堆点,用两条平行于坐标轴的直线将其分为四部分,使得点数最多的一部分最少
第一维枚举,第二维三分,点集用两棵树状数组维护
#include<bits/stdc++.h>
#define maxn 100010
using namespace std;
inline int read(){
int s=;char ch=getchar();
for(;ch<''||ch>'';ch=getchar());
for(;ch>=''&&ch<='';ch=getchar())s=s*+ch-'';
return s;
}
int n;
struct node{
int x,y;
int cntx,cnty;
}s[maxn];
int cmp1(node a,node b){return a.x<b.x;}
int cmp2(node a,node b){return a.y<b.y;}
int c1[maxn];
int c2[maxn];
void add(int a[],int x,int v){
for(;x<=n;x+=x&-x)a[x]+=v;
}
int ask(int a[],int x){
int ans=;
for(;x;x-=x&(-x))ans+=a[x];
return ans;
}
int get(){
int L=,R=n,mid1,mid2,k1,k2,p1,p2;
int sum1=ask(c1,n);
int sum2=ask(c2,n);
while(R-L>=){
mid1=(L+L+R)/,mid2=(L+R+R)/;
p1=ask(c1,mid1);p2=ask(c2,mid1);
k1=max(max(p1,sum1-p1),max(p2,sum2-p2));
p1=ask(c1,mid2);p2=ask(c2,mid2);
k2=max(max(p1,sum1-p1),max(p2,sum2-p2));
if(k1>k2)L=mid1;else R=mid2;
}
int ans=(<<);
for(int i=L;i<=R;++i){
p1=ask(c1,i);p2=ask(c2,i);
ans=min(ans,max(max(p1,sum1-p1),max(p2,sum2-p2)));
}return ans;
}
int main(){
freopen("Load_Balancing.in","r",stdin);
freopen("Load_Balancing.out","w",stdout);
n=read();
for(int i=;i<=n;++i){
s[i].x=read();s[i].y=read();
}
sort(s+,s+n+,cmp2);
s[].cnty=;
for(int i=;i<=n;++i)
if(s[i].y==s[i-].y)s[i].cnty=s[i-].cnty;
else s[i].cnty=s[i-].cnty+;
sort(s+,s+n+,cmp1);
s[].cntx=;
for(int i=;i<=n;++i)
if(s[i].x==s[i-].x)s[i].cntx=s[i-].cntx;
else s[i].cntx=s[i-].cntx+;
for(int i=;i<=n;++i)add(c2,s[i].cnty,);
int L=,R=s[n].cntx,now=,ans=(<<);
for(int i=L;i<=R+&&now<=n;++i){
while(s[now].cntx<=i&&now<=n)add(c2,s[now].cnty,-),add(c1,s[now].cnty,),now++;
int k=get();
if(k<ans)ans=k;
}printf("%d\n",ans);
return ;
}
usaco 2016 Feb 负载平衡的更多相关文章
- USACO翻译:USACO 2012 FEB Silver三题
USACO 2012 FEB SILVER 一.题目概览 中文题目名称 矩形草地 奶牛IDs 搬家 英文题目名称 planting cowids relocate 可执行文件名 planting co ...
- USACO翻译:USACO 2014 FEB SILVER 三题
USACO 2014 FEB SILVER 一.题目概览 中文题目名称 自动打字 路障 神秘代码 英文题目名称 auto rblock scode 可执行文件名 auto rblock scode 输 ...
- Windows Server 2008 R2 负载平衡入门篇
一.简单介绍负载均衡 负载均衡也称负载共享,它是指负载均衡是指通过对系统负载情况进行动态调整,把负荷分摊到多个操作节点上执行,以减少系统中因各个节点负载不均衡所造成的影响,从而提高系统的工作效率.在常 ...
- Windows Server 2008R2 配置网络负载平衡(NLB)
目录 配置环境 安装 安装网络负载平衡 安装Web服务器 IIS 配置 测试 其它 配置环境 VMware:(版本10.0.01) 主集群IP:192.168.220.102 VM1:192.168. ...
- Go 语言开发的基于 Linux 虚拟服务器的负载平衡平台 Seesaw
负载均衡系统 Seesaw Seesaw是由我们网络可靠性工程师用 Go 语言开发的基于 Linux 虚拟服务器的负载平衡平台,就像所有好的项目一样,这个项目也是为了解决实际问题而产生的. Seesa ...
- windows2003 IIS6网络负载平衡设置
问题 随着计算机技术的不断发展,单台计算机的性能和可靠性越来越高.但现实中还是有许多应用是单台计算机难以达到,例如: 1.银行存储用户数据的数据库服务器必须保证24小时不间断的运转,并在发生严重硬件故 ...
- windows server 2003 负载平衡的详细设置步骤(转载)
声明:本文为转载. 当把一台服务器(包括Web服务器.FTP服务器或者流媒体服务器等等)放入网络中之后,随着客户端数量的不断增加,人们往往需要功能更强大.处理速度更快的服务器.为了解决这个问题,如果将 ...
- windows2003网络负载平衡设置
问题 随着计算机技术的不断发展,单台计算机的性能和可靠性越来越高.但现实中还是有许多应用是单台计算机难以达到,例如: 1.银行存储用户数据的数据库服务器必须保证24小时不间断的运转,并在发生严重硬件故 ...
- Microsoft Azure 负载平衡服务
Microsoft Azure 为在其中托管的虚拟机(IaaS) 和云服务(PaaS) 提供负载平衡服务.负载平衡支持应用程序伸缩,并且提供应用程序故障恢复以及其他优势. 可以通过以下方式访问负 ...
随机推荐
- cf 710E dp
题目链接: http://codeforces.com/problemset/problem/710/E 题意:要输入n个字符'a',有两种操作,一种是输入或删除一个'a',耗时x:另一种是把当前的整 ...
- theano报一种float类型错误的处理办法
我实际用的环境是Keras,查错误时查到是Theano的配置问题,所以在标题里就写成Theano的问题了, 是这样的,从Github上下载的别人的代码,准备复现别人的实验,结果在机器上部署好环境之后跑 ...
- TCP Wrapper 特殊使用
更多,更好内容请参见: http://www.ibm.com/developerworks/cn/aix/library/au-tcpwrapper/ 一. 用处和用法 没有符合hosts.allow ...
- sql over的作用及用法
over不能单独使用,要和分析函数:rank(),dense_rank(),row_number()等一起使用.其参数:over(partition by columnname1 order by c ...
- WPF拖放功能实现zz
写在前面:本文为即兴而作,因此难免有疏漏和词不达意的地方.在这里,非常期望您提供评论,分享您的想法和建议. 这是一篇介绍如何在WPF中实现拖放功能的短文. 首先要读者清楚的一件事情是:拖放主要分为拖放 ...
- The name does not exist in the namespace error in XAML
方法1:In the solution property page, check the platform of the assembly that contains "UpdatingMe ...
- ural 1142. Relations
1142. Relations Time limit: 1.0 secondMemory limit: 64 MB Background Consider a specific set of comp ...
- ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 I. Illegal or Not?
I. Illegal or Not? time limit per test 1 second memory limit per test 512 megabytes input standard i ...
- 【Cocos2d-x游戏开发】解决Cocos2d-x中文乱码的三种方法
众所周知,Cocos2d-x是一款不错的开源引擎,但是在Cocos2d-x中直接使用中文是无法正确显示的.比如下面的情况: 解决这个问题常用的有三种方法:1.通过转换为UTF-8编码来显示.2.使用i ...
- BZOJ4116 : [Wf2015]Tours
将边集划分成若干极大不相交集合,满足每个简单环都可以由某些集合相加得到,则答案就是这些集合大小的$\gcd$的约数. 对于一个简单环,上面的边一定不是桥边,而和它在一个集合的边肯定不在其他简单环上.因 ...