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的更多相关文章

  1. bzoj 4723 [POI2017]Flappy Bird 模拟

    [POI2017]Flappy Bird Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 482  Solved: 196[Submit][Status ...

  2. 【BZOJ4723】[POI2017]Flappy Bird DP

    [BZOJ4723][POI2017]Flappy Bird Description <飞扬的小鸟>是一款风靡的小游戏.在游戏中,小鸟一开始位于(0,0)处,它的目标是飞到横坐标为X的某个 ...

  3. BZOJ4723[POI2017]Flappy Bird——模拟

    题目描述 <飞扬的小鸟>是一款风靡的小游戏.在游戏中,小鸟一开始位于(0,0)处,它的目标是飞到横坐标为X的某个位置 上.每一秒,你可以选择点击屏幕,那么小鸟会从(x,y)飞到(x+1,y ...

  4. BZOJ4723: [POI2017]Flappy Bird

    $n \leq 500000$个水管,每秒横坐标加一,纵坐标如果你点击就+1否则-1,问从$(0,0)$飞到$m$处最少点多少次,或者说明无解. 如果能飞到某个水管的高度区间$[L,R]$,那么答案肯 ...

  5. [POI2017] Flappy Bird

    问题描述 <飞扬的小鸟>是一款风靡的小游戏.在游戏中,小鸟一开始位于(0,0)处,它的目标是飞到横坐标为X的某个位置上.每一秒,你可以选择点击屏幕,那么小鸟会从(x,y)飞到(x+1,y+ ...

  6. canvas 制作flappy bird(像素小鸟)全流程

    flappy bird制作全流程: 一.前言 像素小鸟这个简单的游戏于2014年在网络上爆红,游戏上线一段时间内appleStore上的下载量一度达到5000万次,风靡一时, 近年来移动web的普及为 ...

  7. 自己动手写游戏:Flappy Bird

    START:最近闲来无事,看了看一下<C#开发Flappy Bird游戏>的教程,自己也试着做了一下,实现了一个超级简单版(十分简陋)的Flappy Bird,使用的语言是C#,技术采用了 ...

  8. C语言版flappy bird黑白框游戏

    在此记录下本人在大一暑假,2014.6~8这段时间复习C语言,随手编的一个模仿之前很火热的小游戏----flappy bird.代码bug基本被我找光了,如果有哪位兄弟找到其他的就帮我留言下吧,谢谢了 ...

  9. 闲扯游戏编程之html5篇--山寨版《flappy bird》源码

    新年新气象,最近事情不多,继续闲暇学习记点随笔,欢迎拍砖.之前的〈简单游戏学编程语言python篇〉写的比较幼稚和粗糙,且告一段落.开启新的一篇关于javascript+html5的从零开始的学习.仍 ...

随机推荐

  1. Javascript函数式编程要掌握的知识点讲解

    一:理解call和apply 及arguments.callee ECMAScript3给Function的原型定义了两个方法,他们是Function.prototype.call 和 Functio ...

  2. button 样式

    /** * 个人资料 */Ext.define('For.view.personal.MyPersonalData',{            extend:'Ext.panel.Panel',   ...

  3. ASP.NET WebForm中异步请求防止XSRF攻击的方法

    在ASP.NET MVC中微软已经提供了如何防止跨域攻击的方法.对于传统Webfrom中使用Handler来接受ajax的Post请求数据,如何来防止XSRF攻击呢.这里给大家提供一个简单地方法,和M ...

  4. 【OpenJudge 8463】Stupid cat & Doge

    http://noi.openjudge.cn/ch0204/8463/ 挺恶心的一道简单分治. 一开始准备非递归. 大if判断,后来发现代码量过长,决定大打表判断后继情况,后来发现序号不对称. 最后 ...

  5. hbase-0.94 Java API

    Hierarchy For Package org.apache.hadoop.hbase Package Hierarchies: All Packages Class Hierarchy java ...

  6. cocos2d-x打飞机实例总结(一):程序入口分析和AppDelegate,Application,ApplicationProtocol三个类的分析

    首先,是个敲代码的,基本上都知道程序的入口是main函数,显然,就算在cocos2d-x框架中也一样 我们看看main函数做了什么 #include "main.h" #inclu ...

  7. ReactNative 适合初学的第一个教程demo,找租房

    1.下载工程 我看来看去,最让人容易入门的是这个demo: https://github.com/rayshen/PropertyFinder 是英国某开发者做的搜租房的小demo,包含的知识有:图片 ...

  8. php无法创建中文名的文件

    需要使用iconv强制转换后才可以.

  9. codevs 2021 中庸之道

    2021 中庸之道  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description 给定一个长度为N的序列,有Q次询问,每次 ...

  10. js 时间操作和随机数操作

    function Data() { var date = new Date(); var year = date.getFullYear(); ; var strDate = date.getDate ...