【BZOJ】3314 [Usaco2013 Nov]Crowded Cows (多种解法)
来源:互联网 发布:杭州市大数据管理局 编辑:程序博客网 时间:2024/06/03 14:40
题目传送门
多刷水题有益身心健康……
维护一个堆(单调队列和线段树也可以吧),记录在当前节点前且在距离范围内的以高度为关键字的大根堆。
若当前堆顶的位置超出范围,就把这个节点pop掉。
若当前堆顶的高度满足条件,就把计数的数组加1。
最后统计有多少节点的计数数组的值为2,个数就是答案。
附上AC代码:
#include <cstdio>#include <cctype>#include <algorithm>#include <queue>using namespace std;struct note{int wz,h;bool operator < (const note lyf) const {return h<lyf.h;}}a[50010],t;priority_queue <note> que;int n,m,c[50010],ans;inline char nc(){static char ch[100010],*p1=ch,*p2=ch;return p1==p2&&(p2=(p1=ch)+fread(ch,1,100010,stdin),p1==p2)?EOF:*p1++;}inline void read(int &a){static char c=nc();int f=1;for (;!isdigit(c);c=nc()) if (c=='-') f=-1;for (a=0;isdigit(c);a=a*10+c-'0',c=nc());a*=f;return;}inline bool cmp(note p,note q){return p.wz<q.wz;}int main(void){read(n),read(m);for (int i=1; i<=n; ++i) read(a[i].wz),read(a[i].h);sort(a+1,a+1+n,cmp);for (int i=1; i<=n; ++i){while (!que.empty()&&que.top().wz+m<a[i].wz) que.pop();if (!que.empty()&&que.top().h>=(a[i].h<<1)) ++c[i];que.push(a[i]);}while (!que.empty()) que.pop();for (int i=n; i>=1; --i){while (!que.empty()&&que.top().wz-m>a[i].wz) que.pop();if (!que.empty()&&que.top().h>=(a[i].h<<1)) ++c[i];que.push(a[i]);}for (int i=1; i<=n; ++i) if (c[i]==2) ++ans;printf("%d",ans);return 0;}
做题心得:第一次帮老师改题,心中有点小激动……看来我还是有点用处滴……
阅读全文
0 0
- 【BZOJ】3314 [Usaco2013 Nov]Crowded Cows (多种解法)
- [Usaco2013 Nov]Crowded Cows
- [Usaco2013 Nov]Crowded Cows
- BZOJ 3312 [Usaco2013 Nov]No Change
- bzoj 3310: [Usaco2013 Nov]Empty Stalls
- 【BZOJ】3016: [Usaco2012 Nov]Clumsy Cows
- BZOJ 3016: [Usaco2012 Nov]Clumsy Cows
- bzoj 3016: [Usaco2012 Nov]Clumsy Cows 栈
- Sicily 13860. Crowded Cows
- 【bzoj 2060】[Usaco2010 Nov]Visiting Cows 拜访奶牛(树形dp)
- luogu P3088 [USACO13NOV]Crowded Cows
- 【BZOJ】1293 [SCOI2009]生日礼物 (这题有多种解法)
- bzoj3315: [Usaco2013 Nov]Pogo-Cow
- bzoj3312: [Usaco2013 Nov]No Change
- BZOJ3315 [Usaco2013 Nov]Pogo-Cow
- bzoj3312 [Usaco2013 Nov]No Change
- bzoj3315 [Usaco2013 Nov]Pogo-Cow
- BZOJ3312: [Usaco2013 Nov]No Change
- python 获取某个目录字段下的子目录或文件
- Leetcode 134. Gas Station
- easypoi-springboot/springmvc导出数据为Excel
- C++继承和多态
- JS--乱 <一>
- 【BZOJ】3314 [Usaco2013 Nov]Crowded Cows (多种解法)
- 金刚狼3:殊死一战 Logan (2017)
- 【NOI2011T6】兔兔与蛋蛋的游戏-二分图最大匹配+博弈
- java 文件类操作
- windows10+anaconda2+xgboost0.6的安装,VS和MinGW两种方式
- codeforces 814 B An express train to reveries
- P1099 树网的核
- Gson 解析Json 原文地址:http://www.open-open.com/lib/view/open1472632967912.html
- nginx的错误日志参考资料