BZOJ4723: [POI2017]Flappy Bird
来源:互联网 发布:淘宝零食店铺介绍语 编辑:程序博客网 时间:2024/05/16 05:09
每个时间点,鸟一定会向上或下飞一格,能飞到的上下界都变化1,且奇偶性一定改变,因此能飞到的地方是上下界内符合奇偶性的高度
扫描线扫过去,可以O(1)算得从last到x上下界的变化,和当前飞过的区间取个交(注意奇偶性),对于最小次数,高度确定,点击次数就确定,取下界
code:
#include<set>#include<map>#include<deque>#include<queue>#include<stack>#include<cmath>#include<ctime>#include<bitset>#include<string>#include<vector>#include<cstdio>#include<cstdlib>#include<cstring>#include<climits>#include<complex>#include<iostream>#include<algorithm>#define ll long long#define inf 1e9using namespace std;inline void down(int &x,const int &y){if(x>y)x=y;}inline void up(int &x,const int &y){if(x<y)x=y;}const int maxn = 510000;int now,L,R,X,n;int main(){ scanf("%d%d",&n,&X); now=L=R=0; bool flag=true; for(int i=1;i<=n;i++) { int x,li,ri; scanf("%d%d%d",&x,&li,&ri); li++; ri--; L=L-(x-now); R=R+(x-now); up(L,li); down(R,ri); if(x&1) { if(!(L&1)) L++; if(!(R&1)) R--; } else { if(L&1) L++; if(R&1) R--; } if(L>R) { flag=false; break; } now=x; } if(flag) printf("%d\n",(L-(-now))>>1); else puts("NIE"); return 0;}
阅读全文
0 0
- bzoj4723 [POI2017]Flappy Bird
- BZOJ4723 [POI2017]Flappy Bird
- 【bzoj4723】 [POI2017]Flappy Bird
- BZOJ4723: [POI2017]Flappy Bird
- BZOJ4723——[POI2017]Flappy Bird
- [杂题 贪心] BZOJ4723: [POI2017]Flappy Bird
- 4723: [POI2017]Flappy Bird
- [POI2017] Flappy Bird 题解
- 【BZOJ】4723 [POI2017] Flappy Bird
- BZOJ 4723 POI2017 Flappy Bird
- [POI2017] Flappy Bird 解题报告
- [POI2017] Flappy Bird (思维题)
- flappy bird
- Flappy Bird
- flappy bird
- Flappy Bird
- flappy bird
- flappy bird
- 域名,ip,socket
- 配置Eclipse for Java 9
- spring中的quartz在tomcat停止后不能正常关闭的问题处理
- redis
- IDEA激活
- BZOJ4723: [POI2017]Flappy Bird
- SpringBoot基础POM文件
- 转载——文字发光特效
- SAN存储交换机配置
- Java经典设计模式之五大创建型模式(附实例和详解)
- 感知哈希算法——找出相似的图片
- instruments 中 Time Profiler的使用说明
- webpack
- Redis哨兵集群