题目描述:http://codevs.cn/problem/3729/
表示各种shabi的我编和调了半天,思路大体就是一个完全背包的模型,不过会多一些额外的转移(因为题目限制高度之类的),不过值得注意的是应该先向上转移一遍再向下,不然会WA
——————————分割线—————————–

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
#define DAN 999999999//被假定为最大值
int f[10010][10010]={0};
int up[10010]={0},down[10010]={0};//每个位置点击1次上升的高度和不点击下降的高度
int maxhigh[10010]={0},minhigh[10010]={0};//上界 和 下界(有管子的就是上、下管子,无管子就是m+1,0)
int n,m,k;
int step=0;//可以通过的管子数目
int minstep=DAN;//最少点击数 int main()
{scanf("%d%d%d",&n,&m,&k);for (int i=0;i<n;i++)scanf("%d%d",&up[i],&down[i]);for (int i=0;i<=n;i++){maxhigh[i]=m+1;minhigh[i]=0;}//初始化上、下界 int x;for (int i=1;i<=k;i++){scanf("%d",&x);scanf("%d%d",&minhigh[x],&maxhigh[x]);}for (int i=1;i<=n;i++){for (int j=1;j<=m;j++){f[i][j]=DAN;if (j-up[i-1]>0)f[i][j]=min(f[i][j],min(f[i-1][j-up[i-1]],f[i][j-up[i-1]])+1);}//完全背包部分 for (int j=m-up[i-1]; j<=m; j++)f[i][m]=min(f[i][m],min(f[i][j],f[i-1][j])+1);//到顶的问题 for (int j=minhigh[i]+1; j<=maxhigh[i]-1; j++)if (j+down[i-1]<=m)f[i][j]=min(f[i][j],f[i-1][j+down[i-1]]);for (int j=1; j<=minhigh[i]; j++)f[i][j]=DAN;//在最后一层(即落地,或下管子)都不可以 for (int j=maxhigh[i]; j<=m; j++)f[i][j]=DAN;//上管子到顶部不可以 bool pd=false;for (int j=1; j<=m; j++)if (f[i][j]<DAN)pd=true;//判断在这个位置是否能够过关 if (!pd) {printf("0\n");printf("%d",step);return 0;}//如果不能过关就输出过了几根管子 else if (maxhigh[i]!=m+1)step++;//如果经过的是管子,经过管子数+1 }for (int i=1; i<=m; i++)minstep=min(minstep,f[n][i]);//从到达终点的各种方案中选择点击数最少的 printf("1\n");printf("%d",minstep);return 0;
} 

转载于:https://www.cnblogs.com/DaD3zZ-Beyonder/p/5346270.html

NOIP 2014 Day1 T3飞扬的小鸟相关推荐

  1. 【NOIP 2013 Day1 T3】货车运输(最大生成树+LCA)

    题目描述 Description A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有 q 辆货车在运输货物,司机们想知道每辆车在不超过 ...

  2. Star Way To Heaven (prim最小生成树) // [ NOIP提高组 2014]飞扬的小鸟(DP)

    文章目录 T1:Star Way To Heaven 题目 题解 代码实现 T2:飞扬的小鸟 题目 题解 代码实现 T1:Star Way To Heaven 题目 小 w 伤心的走上了 Star w ...

  3. C++——NOIP提高组——飞扬的小鸟

    飞扬的小鸟[NOIP2014提高组] 题目描述 Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟 ...

  4. P1941 [NOIP2014 提高组] 飞扬的小鸟

    题目来源 [NOIP2014 提高组] 飞扬的小鸟 - 洛谷 题目考点 动态规划,dp    枚举,暴力    背包 题目描述 Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点 ...

  5. c++飞扬的小鸟游戏_通过建立一个飞扬的鸟游戏来学习从头开始

    c++飞扬的小鸟游戏 Learn how to use Scratch 3.0 by building a flappy bird game in this course developed by W ...

  6. [DP]Luogu 2014NOIP提高组 飞扬的小鸟题解

    2014NOIP提高组飞扬的小鸟题解 题目描述 Flappy Bird是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一 ...

  7. Luogu 1941 【NOIP2014】飞扬的小鸟 (动态规划)

    Luogu 1941 [NOIP2014]飞扬的小鸟 (动态规划) Description Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度 ...

  8. 洛谷P1941 飞扬的小鸟

    P1941 飞扬的小鸟 链接:https://www.luogu.org/problemnew/show/P1941 题目描述 Flappy Bird是一款风靡一时的休闲手机游戏.玩家需要不断控制点击 ...

  9. Codevs 3729==洛谷P1941 飞扬的小鸟

    P1941 飞扬的小鸟 456通过 2.4K提交 题目提供者该用户不存在 标签动态规划2014NOIp提高组 难度提高+/省选- 提交该题 讨论 题解 记录 题目描述 Flappy Bird 是一款风 ...

最新文章

  1. js中对函数设置默认参数值的3种方法
  2. 连载:阿里巴巴大数据实践—数据建模综述
  3. [bzoj4922]Karp-de-Chant Number
  4. outlook邮箱限额满了
  5. 重写navigationController的push方法后,出现卡顿现象
  6. int * p =NULL;和*p =NULL的区别a和a的区别
  7. stream+springmvc实现文件断点续传
  8. CVE-2020-1472复现与完整利用
  9. Cortex-M开发板密码登陆界面
  10. Word文档打不开怎么办
  11. 数学软件Maple使用教程
  12. Mac上如何完美的转换epub至mobi供kindle观看
  13. C#-Event事件
  14. 银河帝国----基地
  15. java随机发扑克牌程序,java_扑克牌小程序
  16. Kali linux下拓实N95外置网卡驱动安装教程
  17. 两群羊和一只狼,两只狮子
  18. JS中的运算符号(加号)
  19. windows基于TCP/IP的简单文件/图片传输
  20. 为matlab GUI添加背景图片

热门文章

  1. 《那些年啊,那些事——一个程序员的奋斗史》——49
  2. 第一章:NHibernate的简介
  3. DEBUG命令的应用
  4. Vision Transformer太火!这门开源课也火了!十小时现场coding带你玩转ViT 爆款SOTA算法!...
  5. 让全球数亿人拍摄到更美的照片,【北京三星研究院】招聘
  6. 基于短视频的人脸解析比赛
  7. 悬赏百万美金,检测Deepfake假视频,数据集有470G:很久不见这么壕的比赛
  8. TensorFlow 与 PyTorch 之争
  9. CVPR 2019: 4 GPU hours 搜索到一个鲁棒的网络结构
  10. Intel刚刚收购的Vertex.AI,到底有什么黑科技?