bzoj1720: [Usaco2006 Jan]Corral the Cows 奶牛围栏
金组题什么的都要绕个弯才能AC。。不想银组套模板= =
题目大意:给n个点,求最小边长使得此正方形内的点数不少于c个
首先一看题就知道要二分边长len
本来打算用二维前缀和来判断,显然时间会爆,而且坐标最大10000是不可行的
为保证效率,检验的时间应该在O(n2)
所以我们先给x排个序,以每个点的x坐标为左边界,x+len-1为右边界
然后以y为关键字从小到大序后枚举点,用双指针法O(n)更新len以内能保存多少个点
点数大于等于c就可行
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
;
int x[maxn],y[maxn],l,r,a[maxn],b[maxn],c,n;
bool cmp1(int a, int b){return x[a]<x[b];}
bool cmp2(int a, int b){return y[a]<y[b];}
bool check(int len){
;
; i<=n; i++){
left=x[a[i]]; right=left+len-;
ans=;
;
; j<=n; j++){
<=len && k<=n){
if (x[b[k]]>=left && x[b[k]]<=right) {
ans++;
// printf(" %d %d %d %d %d\n", x[b[j]], x[b[k]], y[b[j]], y[b[k]], ans);
}
k++;
}
// printf("%d %d %d %d %d\n", left, right, y[b[j]], y[b[j]]+len-1, ans);
;
if (x[b[j]]>=left && x[b[j]]<=right) ans--;
}
}
;
}
int main(){
scanf("%d%d", &c, &n);
; i<=n; i++){
scanf("%d%d", &x[i], &y[i]);
r=max(r,x[i]); r=max(r,y[i]);
a[i]=b[i]=i;
}
sort(a+,a++n,cmp1);//x从小到大 枚举列
sort(b+,b++n,cmp2);//y从小到大 枚举行
l=;
;
while (l<=r){
;
;
;
}
printf("%d\n", ans);
;
}
bzoj1720: [Usaco2006 Jan]Corral the Cows 奶牛围栏的更多相关文章
- 【BZOJ1720】[Usaco2006 Jan]Corral the Cows 奶牛围栏 双指针法
[BZOJ1720][Usaco2006 Jan]Corral the Cows 奶牛围栏 Description Farmer John wishes to build a corral for h ...
- BZOJ1720:[Usaco2006 Jan]Corral the Cows 奶牛围栏
我对二分的理解:https://www.cnblogs.com/AKMer/p/9737477.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem ...
- BZOJ——1720: [Usaco2006 Jan]Corral the Cows 奶牛围栏
http://www.lydsy.com/JudgeOnline/problem.php?id=1720 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1 ...
- bzoj 1654: [Usaco2006 Jan]The Cow Prom 奶牛舞会 -- Tarjan
1654: [Usaco2006 Jan]The Cow Prom 奶牛舞会 Time Limit: 5 Sec Memory Limit: 64 MB Description The N (2 & ...
- 【BZOJ1654】[Usaco2006 Jan]The Cow Prom 奶牛舞会 赤果果的tarjan
Description The N (2 <= N <= 10,000) cows are so excited: it's prom night! They are dressed in ...
- bzoj1654 [Usaco2006 Jan]The Cow Prom 奶牛舞会
Description The N (2 <= N <= 10,000) cows are so excited: it's prom night! They are dressed in ...
- bzoj:1654 [Usaco2006 Jan]The Cow Prom 奶牛舞会
Description The N (2 <= N <= 10,000) cows are so excited: it's prom night! They are dressed in ...
- 【BZOJ】1654: [Usaco2006 Jan]The Cow Prom 奶牛舞会(tarjan)
http://www.lydsy.com/JudgeOnline/problem.php?id=1654 请不要被这句话误导..“ 如果两只成功跳圆舞的奶牛有绳索相连,那她们可以同属一个组合.” 这句 ...
- 【强连通分量】Bzoj1654 [Usaco2006 Jan]The Cow Prom 奶牛舞会
Description 约翰的N(2≤N≤10000)只奶牛非常兴奋,因为这是舞会之夜!她们穿上礼服和新鞋子,别上鲜花,她们要表演圆舞. 只有奶牛才能表演这种圆舞.圆舞需要一些绳索和一个圆形的 ...
随机推荐
- 明晨HOSTS编辑器mcHostsEdtor与火狐HostAdmin配合使用
在开发过程中,需要经常切换环境开发.测试.Stage和正式环境,甚为麻烦. 后来找到了HOST切换工具mcHostsEdtor工具快速切换host,但浏览器比如有HOST缓存,后来同事推荐FireFo ...
- Windows下memcached.exe的安装与配置
D:\PHP\Memcached\memcached.exe -d install D:\PHP\Memcached\memcached.exe –m 1024 -d start 假设安装在:D: ...
- 如何取消 DiscuzX 帖子被系统自动隐?
设置路径: 全局 -> 站点功能 -> 帖子阅读 -> 启用隐藏水帖,选择“否”
- ASP.NET Core--条件处理程序中的依赖注入
翻译如下: 在配置期间(使用依赖注入),授权处理程序必须在服务集合中注册. 假设您有一个在授权处理程序中要解析规则的仓储库,并且该仓储库已在服务集合中注册. 授权将在构造函数还原并注入. 例如,如果你 ...
- 按Enter键执行表单验证
document.onkeydown = function(evt){ var evt = window.event?window.event:evt; if (evt.keyCode==13) { ...
- [vijos1459]车展
[vijos1459]车展 试题描述 遥控车是在是太漂亮了,韵韵的好朋友都想来参观,所以游乐园决定举办m次车展.车库里共有n辆车,从左到右依次编号为1,2,-,n,每辆车都有一个展台.刚开始每个展台都 ...
- PHP 版去bom头
原理: 找出文件前3个字符 如果它们对应的ASCII 值分别是 239,187,191 则判断为bom头,去掉前3个字符. 代码实现如下: $basedir = isset($_GET['dir'] ...
- PDO和PDOStatement类常用方法
PDO — PDO 类 PDO::beginTransaction — 启动一个事务 PDO::commit — 提交一个事务 PDO::__construct — 创建一个表示数据库连接的 PDO ...
- javascript闭包和作用域链
最近在学习前端知识,看到javascript闭包这里总是云里雾里.于是翻阅了好多资料记录下来本人对闭包的理解. 首先,什么是闭包?看了各位大牛的定义和描述各式各样,我个人认为最容易一种说法: 外部函数 ...
- 配置VNC
VNC连接Linux桌面,要想连接Linux远程桌面,按照下面的步骤,非常简单.快速,Linux配置VNC(以RedHat.CentOS.Fedora系列为例). 工具/原料 Linux平台安装VNC ...