题解:

挺简单的题目

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. DHCP Server (推荐使用Windows)

    一些小的服务 windows做的比linux好 DHCP服务概述: 名称:DHCP (Dynamic Host Configuration Protocol --动态主机配置协议) 功能:是一个局域网 ...

  2. 题解-ZJOI2015地震后的幻想乡

    Problem bzoj & 洛谷 题意简述:给定一个\(n\)(\(n\leq 10\))个点\(m\)条边的无向图,每条边的权值为一个\(0\)到\(1\)之间的连续随机变量,求图的最小生 ...

  3. C# List 作为参数传递的值变化

    一.示例演示 namespace TestConsole { class Program { static void Main(string[] args) { Console.WriteLine(& ...

  4. Qt 出现“undefined reference to `vtable for”

    在QT中定义了一个线程类,继承自QThread, 在类中未加 Q_OBJECT 时编译正常,加入后报错如下: undefined reference to `vtable for myThread' ...

  5. iperf3 不支持双工模式

    iperf 2.05的时候,客户端可以使用参数"-d"来进行双工测试,先测试发送,client向server发送数据,等到测试时间结束后(默认为10s,可以通过-t选项来更改),然 ...

  6. Golang -- Signal处理

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

  7. LabVIEW---vi图标和符号的制作

    前言: 使用图形化设计语言进行开发时候,为VI添加说明的一个重要的方法是为其建立一个形象的图标,每个VI都在前面板后程序框图的右上角有一个图标,它是VI的图形化表示.如果VI当作子VI调用,该图标就会 ...

  8. js 测试性能

    console.time('querySelector');for(var i=0; i<1000; i++){document.querySelector('body');}console.t ...

  9. Winform按键捕获

    参考:http://blog.csdn.net/zhensoft163/article/details/4239796 下载链接 方法1:使用窗体的 KeyDown 事件 private void F ...

  10. ZOJ 2110 DFS

    狗要出门,且正好在T秒 就是DFS + 剪枝, 联系一下剪枝技巧 #include<iostream> #include<cstdio> #include<cstring ...