BZOJ 4723: [POI2017]Flappy Bird
Description
从一个点到一条直线,每次纵坐标只能增加或减少1,有些位置有障碍,求最少增加步数.
Sol
贪心.
或许是贪心吧...反正在可到达的范围内,纵坐标尽量小...
做的时候维护一下两个端点,因为在这个区间内操作数单调递增,只需要取最下面的点就好.
Code
/**************************************************************
Problem: 4723
User: BeiYu
Language: C++
Result: Accepted
Time:1884 ms
Memory:1284 kb
****************************************************************/ #include <cstdio>
#include <iostream>
using namespace std; #define debug(a) cout<<#a<<"="<<a<<" " int n,m,ans;
int X,L,R; int main(){
// freopen("in.in","r",stdin);
ios::sync_with_stdio(false); cin>>n>>m; X=L=R=0; for(int i=1;i<=n;i++){
int x,l,r,t;
cin>>x>>l>>r;
l++,r--; t=(x-X); l=max(l,L-t);
r=min(r,R+t); if((l-L+t)&1) l++;
if((r-R+t)&1) r--; if(L<l-t) ans+=(l-t-L)>>1,L=l-t;
if(R>r+t) R=r+t; if(L>R) return puts("NIE"),0; ans+=(l-L+t)>>1; // cout<<"-----------------"<<i<<"-------------------"<<endl;
// debug(X),debug(L),debug(R)<<endl;
// debug(x),debug(l),debug(r)<<endl;
// debug(t),debug(((l-L+t)>>1))<<endl; L=l;
R=r;
X=x; if(L>R) return puts("NIE"),0;
}
cout<<ans<<endl;
return 0;
}
BZOJ 4723: [POI2017]Flappy Bird的更多相关文章
- bzoj 4723 [POI2017]Flappy Bird 模拟
[POI2017]Flappy Bird Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 482 Solved: 196[Submit][Status ...
- 【BZOJ4723】[POI2017]Flappy Bird DP
[BZOJ4723][POI2017]Flappy Bird Description <飞扬的小鸟>是一款风靡的小游戏.在游戏中,小鸟一开始位于(0,0)处,它的目标是飞到横坐标为X的某个 ...
- BZOJ4723[POI2017]Flappy Bird——模拟
题目描述 <飞扬的小鸟>是一款风靡的小游戏.在游戏中,小鸟一开始位于(0,0)处,它的目标是飞到横坐标为X的某个位置 上.每一秒,你可以选择点击屏幕,那么小鸟会从(x,y)飞到(x+1,y ...
- BZOJ4723: [POI2017]Flappy Bird
$n \leq 500000$个水管,每秒横坐标加一,纵坐标如果你点击就+1否则-1,问从$(0,0)$飞到$m$处最少点多少次,或者说明无解. 如果能飞到某个水管的高度区间$[L,R]$,那么答案肯 ...
- [POI2017] Flappy Bird
问题描述 <飞扬的小鸟>是一款风靡的小游戏.在游戏中,小鸟一开始位于(0,0)处,它的目标是飞到横坐标为X的某个位置上.每一秒,你可以选择点击屏幕,那么小鸟会从(x,y)飞到(x+1,y+ ...
- canvas 制作flappy bird(像素小鸟)全流程
flappy bird制作全流程: 一.前言 像素小鸟这个简单的游戏于2014年在网络上爆红,游戏上线一段时间内appleStore上的下载量一度达到5000万次,风靡一时, 近年来移动web的普及为 ...
- 自己动手写游戏:Flappy Bird
START:最近闲来无事,看了看一下<C#开发Flappy Bird游戏>的教程,自己也试着做了一下,实现了一个超级简单版(十分简陋)的Flappy Bird,使用的语言是C#,技术采用了 ...
- C语言版flappy bird黑白框游戏
在此记录下本人在大一暑假,2014.6~8这段时间复习C语言,随手编的一个模仿之前很火热的小游戏----flappy bird.代码bug基本被我找光了,如果有哪位兄弟找到其他的就帮我留言下吧,谢谢了 ...
- 闲扯游戏编程之html5篇--山寨版《flappy bird》源码
新年新气象,最近事情不多,继续闲暇学习记点随笔,欢迎拍砖.之前的〈简单游戏学编程语言python篇〉写的比较幼稚和粗糙,且告一段落.开启新的一篇关于javascript+html5的从零开始的学习.仍 ...
随机推荐
- CDN缓存机制
CDN也叫内容分发网络,是一个经策略性部署的整体系统,包括分布式储存.负载均衡.网络请求的重定向和内容管理4个要件.而其中内容管理和全局的网络流量管理是CDN的核心所在.通过用户就进行和服务器负载的判 ...
- webconfig中配置各种数据库的连接字符串(转)
一.在appSettings配置 <appSettings> <!--SQL Server--> <!--<add key="SQLString&qu ...
- 新项目,WebTest
最近为了给Jumony for ASP.NET进行单元测试有点伤神,ASP.NET因为环境特殊,一直是单元测试的禁地,传统的单元测试工具由于运行在非ASP.NET环境,可谓是举步维艰.当然,微软在搞A ...
- vue.js之绑定class和style
一.绑定Class属性. 绑定数据用v-bind:命令,简写成: 语法:<div v-bind:class="{ active: isActive }"></di ...
- redis-设置密码
1.通过配置文件设置密码 找到redis的安装目录中的如下文件 linux:/etc/redis.confwindows(我的windwos免安装版本):E:\redis\redis-2.4.5-wi ...
- 前端模块化工具-webpack
详解前端模块化工具-webpack webpack是一个module bundler,抛开博大精深的汉字问题,我们暂且管他叫'模块管理工具'.随着js能做的事情越来越多,浏览器.服务器,js似乎无处不 ...
- VsFtpd配置文件详解
1.默认配置:1>允许匿名用户和本地用户登陆. anonymous_enable=YES local_enable=YES2>匿名用户使用的登陆名为ftp或anonymou ...
- JavaScript错误之:Uncaught ReferenceError: $ is not defined
在js开发中,很多人遇到类似问题,都找不到解决方法.Uncaught ReferenceError: $ is not defined,在这里给大家提供几个解决方法. 方法/步骤11.出现这个错误,最 ...
- CSS之A标签
a标签,超级链接 a是英语anchor锚的意思. a标签常用的就是三个属性: 1 <a href="网址" title="悬停文本" tar ...
- C# 访问数据库
1. 首先引用和生命system.data.sqlClient 2. 使用sqlconnect类链接,sqlcommand类执行SQL命令,最后结果返回给sqlDataReader类或者是其他类 3. ...