[bzoj4411] [Usaco2016 Feb]Load balancing
先离散化一下(也可以不用
枚举横坐标,用线段树维护两边纵坐标上的节点数。
每次在线段树上二分。。。(感觉似乎树状数组也行?
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=;
const int mxnode=;
struct poi{
int x,y;
}a[maxn];
struct yy{
int y,id;
}y[maxn];int cnty;
int sz[][mxnode],lnum[],rnum[];
int i,j,k,n,m,ans,size; int ra;char rx;
inline int read(){
rx=getchar(),ra=;
while(rx<''||rx>'')rx=getchar();
while(rx>=''&&rx<='')ra*=,ra+=rx-,rx=getchar();return ra;
}
bool cmpy(yy a,yy b){return a.y<b.y;}
bool cmppoi(poi a,poi b){return a.x<b.x;}
inline int min(int a,int b){return a<b?a:b;}
inline int max(int a,int b){return a>b?a:b;}
inline int query(){
int p=,lc,rc;bool flag=;
lnum[]=lnum[]=rnum[]=rnum[]=;
while(){
lc=p<<,rc=lc|;
if(p>size)lc=rc=p,flag=;
if(max(lnum[]+sz[][lc],lnum[]+sz[][lc]) < max(rnum[]+sz[][rc],rnum[]+sz[][rc]))
lnum[]+=sz[][lc],lnum[]+=sz[][lc],p=rc;
else rnum[]+=sz[][rc],rnum[]+=sz[][rc],p=lc;
//printf(" %d %d %d %d %d\n",lnum[0],lnum[1],rnum[0],rnum[1],p);
if(flag)
return max(max(lnum[],lnum[]),max(rnum[],rnum[]));
} }
int main(){
n=read();
for(i=;i<=n;i++)a[i].x=read(),a[i].y=y[i].y=read(),y[i].id=i;
sort(y+,y++n,cmpy);
for(i=;i<=n;i++)
cnty+=y[i].y!=y[i-].y,a[y[i].id].y=cnty;
for(size=;size<cnty;size<<=);size--;//printf(" %d\n",size);
sort(a+,a++n,cmppoi); for(i=;i<=n;i++)
++sz[][a[i].y+size];
for(i=size;i;i--)sz[][i]=sz[][i<<]+sz[][i<<|]; int now=;ans=query();
for(i=;i<=n;i++)if(a[i].x!=a[i+].x)
{
// printf("try:%d\n",a[i].x);
for(;now<=i;now++)
for(j=a[now].y+size;j;j>>=)++sz[][j],--sz[][j];
ans=min(ans,query());
}
printf("%d\n",ans);
return ;
}
[bzoj4411] [Usaco2016 Feb]Load balancing的更多相关文章
- BZOJ4411——[Usaco2016 Feb]Load balancing
1.题意: 给出N个平面上的点.保证每一个点的坐标都是正奇数. 你要在平面上画两条线,一条是x=a,一条是y=b,且a和b都是偶数. 直线将平面划成4个部分,要求包含点数最多的那个部分点数最少. 2. ...
- bzoj千题计划180:bzoj4411: [Usaco2016 Feb]Load balancing
http://www.lydsy.com/JudgeOnline/problem.php?id=4411 用树状数组维护扫描线 一个树状数组维护扫描线之上的y<=i点,另一个维护扫描线之下y&l ...
- BZOJ 4411: [Usaco2016 Feb]Load balancing 线段树+二分
code: #include <bits/stdc++.h> #define N 100060 #define M 1000000 #define lson x<<1 #def ...
- bzoj4409&&bzoj4410&&bzoj4411[Usaco2016 Feb Platinum]题解
辣鸡wyz最近状态奇差,于是想用usaco题找找手感,万万没想到被虐了一脸TAT 先贴代码,有空再填坑 4409[Usaco2016 Feb]Circular barn #include <io ...
- 【架构】How To Use HAProxy to Set Up MySQL Load Balancing
How To Use HAProxy to Set Up MySQL Load Balancing Dec 2, 2013 MySQL, Scaling, Server Optimization U ...
- CF# Educational Codeforces Round 3 C. Load Balancing
C. Load Balancing time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- Codeforces Educational Codeforces Round 3 C. Load Balancing 贪心
C. Load Balancing 题目连接: http://www.codeforces.com/contest/609/problem/C Description In the school co ...
- UVA 12904 Load Balancing 暴力
Load Balancing Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/vi ...
- Load Balancing 折半枚举大法好啊
Load Balancing 给出每个学生的学分. 将学生按学分分成四组,使得sigma (sumi-n/4)最小. 算法: 折半枚举 #include <iostrea ...
随机推荐
- NFV、DPDK以及部分用户态协议研究
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 对我而言,这是一个新的领域,很有意思. 一.解释名词: NFV(Network Functio ...
- A星寻路算法(A* Search Algorithm)
你是否在做一款游戏的时候想创造一些怪兽或者游戏主角,让它们移动到特定的位置,避开墙壁和障碍物呢? 如果是的话,请看这篇教程,我们会展示如何使用A星寻路算法来实现它! 在网上已经有很多篇关于A星寻路算法 ...
- ArcGIS API for JavaScript 中的数据类型【vs】GPServer的数据类型
熟悉GPServer的同学肯定知道,GPServer在10.1的ArcMap后需要执行成功一次才能发布. 发布GPServer,可以是ArcMap的工具箱的工具,也可以是自己写的模型. 不管是ArcM ...
- window下mysql数据备份
今天我有个朋友让我帮他在windowServer服务器上备份一下mysql的数据库,于是花了一天的时间完成了一个每天定时备份数据库的功能,小编在这里为大家记录一下: 首先对于mysql命令行的导入导出 ...
- 浅析Node.js的Event Loop
目录 浅析Node.js的Event Loop 引出问题 Node.js的基本架构 Libuv Event Loop Event Loop Phases Overview Poll Phase The ...
- 3.Nginx常用功能介绍
Nginx常用功能介绍 Nginx反向代理应用实例 反向代理(Reverse Proxy)方式是指通过代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并且从内部网络服 ...
- HTML中的超链接
超链接:也叫URL(Uniform Resource Locator),就是统一资源定位器.一般效果是我们点击网页上某个地方,网页会自动跳转到另外一个地方. 一般链接遵循以下要求:scheme://h ...
- PHP array_map()
PHP array_map() 函数 将函数作用到数组中的每个值上,每个值都乘以本身,并返回带有新值的数组: <?php function myfunction($v) { return($v* ...
- Mac 配置Charles,抓取移动设备数据
有两篇很详细的教程可以参考 Charles 从入门到精通 mac环境下使用Charles抓包Https请求 但是在使用iPhone抓取https数据的时候会出现很多问题,总是提示失败. 需要注意的有: ...
- c3p0使用记录
首先要导入c3p0包.c3p0下载解压后,lib目录下有三个包,使用mysql的话,只需要导入c3p0-0.9.5.2.jar,mchange-commons-java-0.2.11.jar. 要连接 ...