我心里毫无波动甚至还有点想笑。

WTF

WTF

WTF

WTF

WTF

WTF

WTF

GTMD调了一天什么鬼啊。

原来更新的范围有讲究啊。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define inf 1000000007
using namespace std;
int n,m,k,x[],y[],dp1[][],dp2[][],ret=,ans1=,mx[],ans2=inf;
struct pnt
{
int p,l,h;
}p[];
bool vis[][];
bool cmp(pnt x,pnt y)
{
return x.p<y.p;
}
bool fail_all(int x)
{
for (int j=;j<=m;j++)
if (dp2[x][j]!=inf) return false;
return true;
}
int main()
{
scanf("%d%d%d",&n,&m,&k);
for (int i=;i<=n;i++) scanf("%d%d",&x[i-],&y[i-]);
for (int i=;i<=k;i++)
scanf("%d%d%d",&p[i].p,&p[i].l,&p[i].h);
sort(p+,p+k+,cmp);
for (int i=;i<=m;i++) vis[][i]=true;
for (int i=;i<=n;i++)
{
while ((p[ret+].p<=i) && (ret<=k-)) ret++;
int l,r;
if (p[ret].p==i) {l=p[ret].l+;r=p[ret].h-;}
else l=,r=m;
int limit=;if (p[ret].p==i-) limit=p[ret].l+;
for (int j=;j<=m;j++) dp2[i][j]=inf;
for (int j=;j<=m-;j++)
{
if (((vis[i][j-x[i-]]) || (vis[i-][j-x[i-]])) && (j>x[i-]))
{
dp1[i][j]=max(dp1[i-][j-x[i-]],dp1[i][j-x[i-]]);
dp2[i][j]=min(dp2[i][j],dp2[i][j-x[i-]]+);
dp2[i][j]=min(dp2[i][j],dp2[i-][j-x[i-]]+);
vis[i][j]=true;
}
}
for (int j=;j<=m-;j++)
{
if ((j+y[i-]<=m) && (vis[i-][j+y[i-]]))
{
dp1[i][j]=max(dp1[i][j],dp1[i-][j+y[i-]]);
dp2[i][j]=min(dp2[i][j],dp2[i-][j+y[i-]]);
vis[i][j]=true;
}
}
for (int j=;j<=m;j++)
{
if (vis[i-][j])
{
int ret;
dp1[i][m]=max(dp1[i][m],dp1[i-][j]);
if ((m-j)%x[i-]) ret=(m-j)/x[i-]+;
else if (m==j) ret=;
else ret=(m-j)/x[i-];
dp2[i][m]=min(dp2[i][m],dp2[i-][j]+ret);
vis[i][m]=true;
}
}
for (int j=;j<=l-;j++) {vis[i][j]=false;dp2[i][j]=inf;}
for (int j=r+;j<=m;j++) {vis[i][j]=false;dp2[i][j]=inf;}
for (int j=;j<=m;j++)
if (vis[i][j])
{
dp1[i][j]+=(p[ret].p==i);
ans1=max(ans1,dp1[i][j]);
}
if (vis[i][m]) ans1=max(ans1,dp1[i][m]);
if (fail_all(i))
{
printf("0\n%d\n",ans1);
return ;
}
}
for (int i=;i<=m;i++)
if (vis[n][i]) ans2=min(ans2,dp2[n][i]);
printf("1\n%d\n",ans2);
return ;
}

vijos 1907 飞扬的小鸟的更多相关文章

  1. P1907飞扬的小鸟

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

  2. [codevs3729]飞扬的小鸟

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

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

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

  4. NOIP2014 飞扬的小鸟

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

  5. Codevs 3729 飞扬的小鸟

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

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

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

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

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

  8. UOJ #17. 【NOIP2014】飞扬的小鸟 背包DP

    #17. [NOIP2014]飞扬的小鸟 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4902  Solved: 1879 题目连接 http:// ...

  9. P1941 飞扬的小鸟(背包)

    P1941 飞扬的小鸟 细节题 上升是完全背包 下降是01背包 (数组访问越界本机怎么能过???(大雾)) #include<iostream> #include<cstdio> ...

随机推荐

  1. 笔记11:GDI 制作数字验证码

    大二学长让我学下GDI绘制验证码,然后自己就试了试了.找了点视频看了下. 现在会画直线,矩形,字符串,制作验证码 一.绘制一条直线 private void button1_Click(object ...

  2. java 三大框架 介绍

    三大框架:Struts+Hibernate+Spring Java三大框架主要用来做WEN应用. Struts主要负责表示层的显示 Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作 ...

  3. 详解下一代开源混合应用框架Reapp(转)

    http://www.iteye.com/news/30269 官网:http://reapp.io/ [开源推荐]Facebook开源的JavaScript库:React http://www.cs ...

  4. Mahout推荐算法基础

    转载自(http://www.geek521.com/?p=1423) Mahout推荐算法分为以下几大类 GenericUserBasedRecommender 算法: 1.基于用户的相似度 2.相 ...

  5. 一段linux shell 代码涉及for循环和if esle

    if [ 0 -ne $# ]; then echo "USAGE: prog [IN]input_file" >&2; exit 1;fisource /etc/p ...

  6. iBatisSQL中prepend的问题

    是前向声明还是后向声明? 官方文档那个给出:“the overridable SQL part that will be prepended to the statement”.可见是前向声明. -- ...

  7. [Hadoop入门] - 1 Ubuntu系统 Hadoop介绍 MapReduce编程思想

    Ubuntu系统 (我用到版本号是140.4) ubuntu系统是一个以桌面应用为主的Linux操作系统,Ubuntu基于Debian发行版和GNOME桌面环境.Ubuntu的目标在于为一般用户提供一 ...

  8. 使用Web Service进行网络编程-----Web Service简介

    Android应用通常都是运行在手机平台上,手机系统的硬件资源是有限的,不管是存储能力还是计算能力都是有限的,在Android系统上开发.运行一些单用户.小型应用是可能的,但对于需要进行大量的数据处理 ...

  9. True bar

    真彩bar /***========================================================================= ==== ==== ==== D ...

  10. HDU 1693 二进制表示的简单插头dp

    题目大意: 找到多条回路覆盖所有非障碍格子,问这样回路的种数 这里的插头与URAL1519 不一样的是 只要管它是否存在即可,只需要1个二进制位表示状态 #include <cstdio> ...