[luogu2862][USACO06JAN]把牛Corral the Cows(二维队列)
来源:互联网 发布:5g网络概念 编辑:程序博客网 时间:2024/06/03 22:41
题目:
我是超链接
题解:
不知道为什么放到tarjan的分类
类似于一种二维的队列吧
排序+离散(当然这题数据小不用离散,但离散可以节约空间?)
离散之后y坐标已经排好序了,用a,b两个指针固定这个区间,顺便把这个区间里有的x标清楚一下
那就开始固定x的区间了,我固定一个区间之后直接看看两个固定区间的交集——–有多少个在范围内的x直接累加
代码:
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;struct hh{int x,y;}p[505];int mx,my,rx[505],ry[505],n,cc,ans,s[505];int cmp(hh a,hh b){return a.x<b.x;}int cmp1(hh a,hh b){return a.y<b.y;}bool check(int mid){ memset(s,0,sizeof(s)); int a=1,b=0; while (b<n && ry[p[b+1].y]-ry[1]+1<=mid) s[p[++b].x]++; for (;b<=n;s[p[++b].x]++) { while (ry[p[b].y]-ry[p[a].y]+1>mid) s[p[a++].x]--; int c=1,d=0,sd=0,sc=0; while (d<mx && rx[d+1]-rx[1]+1<=mid) sd+=s[++d]; for (;d<=mx;sd+=s[++d]) { while (rx[d]-rx[c]+1>mid) sc+=s[c++]; if (sd-sc>=cc) return 1; } } return 0;}int main(){ int i; scanf("%d%d",&cc,&n); for (i=1;i<=n;i++) scanf("%d%d",&p[i].x,&p[i].y); sort(p+1,p+n+1,cmp); for (i=1;i<=n;i++) { if (p[i].x>rx[mx]) rx[++mx]=p[i].x; p[i].x=mx; } sort(p+1,p+n+1,cmp1);//离散 for (i=1;i<=n;i++) { if (p[i].y>ry[my]) ry[++my]=p[i].y; p[i].y=my; } int l=1,r=max(rx[mx],ry[my]); while (l<=r) { int mid=(l+r)>>1; if (check(mid)) ans=mid,r=mid-1; else l=mid+1; } printf("%d",ans);}
阅读全文
0 0
- [luogu2862][USACO06JAN]把牛Corral the Cows(二维队列)
- 洛谷[USACO06JAN]把牛Corral the Cows
- POJ 3179 Corral the Cows 笔记
- bzoj1720[Usaco2006 Jan]Corral the Cows 奶牛围栏
- bzoj 1720: [Usaco2006 Jan]Corral the Cows 奶牛围栏 二分
- [USACO06JAN]牛的舞会The Cow Prom
- 【题解】[USACO06JAN]牛的舞会The Cow Prom(tarjan)
- 洛谷P2863 [USACO06JAN]牛的舞会The Cow Prom
- 【luogu 2863】[USACO06JAN]牛的舞会The Cow Prom题目描述
- 【TOJ 3585】Covering the Corral【贪心】
- PKU-#2387 Til the Cows Come Home(Dijkstra+vector+优先队列)
- POJ 2387-Til the Cows Come Home(最短路Dijkstra+优先队列)
- POJ 2387 Til the Cows Come Home(迪杰斯特拉/优先队列/最短路)
- POJ--Til the Cows Come Home(Bellman-Ford的队列优化)
- DELL Software contest 2014 H题 1007 Covering the Corral
- Treats for the Cows(dp)
- Til the Cows Come Home (Dijkstra)
- POJ-2387Til the Cows Come Home,最短路坑题,dijkstra+队列优化
- zookeeper集群搭建与使用
- 比特币挖矿——建立Kafka&ZooKeeper集群
- 微信:小程序新增“星标”功能
- Qualcomm推出下一代DDFA音频放大器技术
- 你以为只是下围棋能赢人类?微软的 AI 在吃豆人游戏上也超越人类了
- [luogu2862][USACO06JAN]把牛Corral the Cows(二维队列)
- 【笔记】线索二叉树
- LayoutInflater类的作用与用法
- codevs1475m进制转10进制
- PE的DOS头部(总结于小甲鱼)
- 富不过三代也是技术的宿命
- Android自定义View——贝塞尔曲线实现水波纹进度球
- 静态变量(static)用法
- 1710班级的第一次考试