题解:

挺简单的题目

f[i][j]表示x坐标为i,y坐标为j的最小值

会发现那个东西是个完全背包

从f[i][j-a[i]]转移一下就是O(1)转移的了

另外上界为m这个要特判一下

我把sum[a[i]]写成了sum[i]还过了样例拿了65分真的是神奇

另外注意一下要先计算再判断不可行的

因为他是在前一格瞬间跳到那么高

代码:

#include <bits/stdc++.h>
using namespace std;
#define rint register int
#define IL inline
#define rep(i,h,t) for (rint i=h;i<=t;i++)
#define dep(i,t,h) for (rint i=t;i>=h;i--)
const int N=2e4;
int f[][],n,m,k,a[N],b[N],sum[N],t[N][];
struct re{
int a,b,c;
}c[N];
const int INF=1e9;
void minn(int &x,int y)
{
if (x>y) x=y;
}
int main()
{
ios::sync_with_stdio(false);
cin>>n>>m>>k;
rep(i,,n) cin>>a[i]>>b[i];
rep(i,,k) cin>>c[i].a>>c[i].b>>c[i].c,c[i].b++,c[i].c--;
rep(i,,n) t[i][]=,t[i][]=m;
rep(i,,k) t[c[i].a][]=c[i].b,t[c[i].a][]=c[i].c,sum[c[i].a]=;
rep(i,,n) sum[i]+=sum[i-];
f[][]=INF;
rep(i,,n)
{
rint now=i%,lst=(i+)%;
rep(j,,m) f[now][j]=INF;
rep(j,a[i]+,m) minn(f[now][j],min(f[now][j-a[i]],f[lst][j-a[i]])+);
rep(j,m-a[i],m) minn(f[now][m],min(f[now][j],f[lst][j])+);
rep(j,,m)
if (j+b[i]<=m) minn(f[now][j],f[lst][j+b[i]]);
rep(j,,t[i][]-) f[now][j]=INF;
rep(j,t[i][]+,m) f[now][j]=INF;
bool tt=;
rep(j,,m) if (f[now][j]<INF) tt=;
if (tt)
{
cout<<<<endl;
cout<<sum[i]-;
exit();
}
}
cout<<<<endl;
int ans=INF;
rep(i,,m) minn(ans,f[n%][i]);
cout<<ans<<endl;
return ;
}

noip飞扬的小鸟的更多相关文章

  1. NOIP 飞扬的小鸟 题解

    题目描述 Flappy Bird是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一不小心撞到了水管或者掉在地上的话,便宣 ...

  2. NOIP 2014飞扬的小鸟(DP优化)

    题目链接  飞扬的小鸟 考场的70分暴力(实际只有50分因为数组开小了……) 考场代码(数组大小已修改) #include <cstdio> #include <cstring> ...

  3. Codevs 3729 飞扬的小鸟

    飞扬的小鸟 标签 动态规划 NOIp提高组 2014 难度 提高+/省选- 题目描述 Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小 ...

  4. 洛谷 P1941 飞扬的小鸟

    洛谷 P1941 飞扬的小鸟 原题链接 首先吐槽几句 noip都快到了,我还不刷起联赛大水题! 题目描述 Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节 ...

  5. P1907飞扬的小鸟

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

  6. [codevs3729]飞扬的小鸟

    [codevs3729]飞扬的小鸟 试题描述 输入 输出 输出文件名为 bird.out. 共两行. 第一行,包含一个整数,如果可以成功完成游戏,则输出 1,否则输出 0. 第二行,包含一个整数,如果 ...

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

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

  8. NOIP2014 飞扬的小鸟

    3. 飞扬的小鸟 (bird.cpp/c/pas) [问题描述] Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的 ...

  9. [NOIP2014][DP]飞扬的小鸟

    [NOIP2014]飞扬的小鸟 ——!x^n+y^n=z^n 题目描述: Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画 ...

随机推荐

  1. SQL NOLOCK大杂烩

    今天碰到NOLOCK 的问题,就查阅了一些资料,做了相关了解:总结了比较经典,朴实的两篇在此. 电梯直达: SQL Server 中WITH (NOLOCK)浅析 文章本想大篇幅摘抄,因为担心链接失效 ...

  2. BCG界面库

    之前用过BCG界面库中的表格控件,深感其强大,现在再来用一下其它的. 一.   关于BCGControlBar. BCGControlBar是一个基于MFC的扩展库,您可以通过完全的用户化操作构成一些 ...

  3. PHP JSON 数据解析代码

    作者: 字体:[增加减小] 类型:转载   PHP解析JSON 数据代码,与大多数流行的 Web 服务如 twitter .人人网通过开放 API 来提供数据一样,它总是能够知道如何解析 API 数据 ...

  4. python多线程threading下载示例

    #coding:utf-8 # windows中测试不通过,下载的图片不完整 # 通过多线程下载图片 import requests import threading class downloader ...

  5. 使用Vagrant搭建本地python开发环境

    使用Vagrant搭建本地python开发环境 关于vagrant:Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境,它使用Oracle的开源VirtualBox虚拟化系统也可以使 ...

  6. 带jdk15类似的jar配置

    针对部分jar文件名带有jdk15结尾的依赖配置时,需要添加<classifier>标签进行区分 比如针对:json-lib-2.4-jdk15.jar的jar依赖配置 <depen ...

  7. Golang -- Signal处理

    我们在生产环境下运行的系统要求优雅退出,即程序接收退出通知后,会有机会先执行一段清理代码,将收尾工作做完后再真正退出.我们采用系统Signal来 通知系统退出,即kill pragram-pid.我们 ...

  8. Java中常用的加密算法小结

      散列算法(单向散列,不可逆) MD5(Message Digest Algorithm 5) SHA(Secure Hash Algorithm)   对称加密(加密解密使用同一密钥,速度快) D ...

  9. 深入Golang之sync.Pool详解

    我们通常用golang来构建高并发场景下的应用,但是由于golang内建的GC机制会影响应用的性能,为了减少GC,golang提供了对象重用的机制,也就是sync.Pool对象池. sync.Pool ...

  10. log4net使用的两种方式

    1.首先添加log4net.dll引用(可以使用  管理NuGet程序包添加引用,也可以下载下来手动去添加引用) 2.在app.config文件中配置 3.log4net使用的2终方式 log4net ...