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

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. ArcMap中"开始编辑"遇到一个或多个带有警告的图层“如果继续,可能无法编辑某些图层”的警告框

    开始编辑后可能出现的错误: 如果 ArcMap 在所选数据上启动编辑会话时遇到问题,将弹出一个对话框以提供附加信息.您可能会收到错误.警告或信息消息. 出现错误  时用户不可以启动任何编辑会话.只有解 ...

  2. 二级菜单jquery

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. [svn] 分支开发

    参考博客: http://www.cnblogs.com/cxd4321/archive/2012/07/12/2588110.html (1)为什么要使用SVN分支开发和主干合并? 目的:在SVN下 ...

  4. Qt之QSequentialAnimationGroup

    简述 QSequentialAnimationGroup类提供动画的串行组. QSequentialAnimationGroup是一个串行运行动画的QAnimationGroup,在另一个动画播放结束 ...

  5. javascript实现对象的继承的方式

    在JavaScript将原型链作为实现继承的主要方法.基本原理是利用原型让一个subType引用superType的属性和方法 推荐链接 http://www.jb51.net/article/204 ...

  6. C++编程中const和#define的区别

    (1) 编译器处理方式不同 define宏是在预处理阶段展开. const常量是编译运行阶段使用.(2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开. const常量有具 ...

  7. 聚类算法:ISODATA算法

    1. 与K-均值算法的比较 –K-均值算法通常适合于分类数目已知的聚类,而ISODATA算法则更加灵活: –从算法角度看, ISODATA算法与K-均值算法相似,聚类中心都是通过样本均值的迭代运算来决 ...

  8. redhat enterprixe 5.0 DNS 服务配置与管理

    一.了解DNS相关概念 DNS是一个分布式数据库,在本地负责控制整个分布式数据库的部分段,每一段中的数据通过客户机/服务器模式在整个网络上存取.通过采用复制技术和缓存技术使得整个数据库稳定可靠的同时, ...

  9. 利用电话管理器TelephonyManager获取网络和SIM卡信息

    import java.util.ArrayList;import java.util.HashMap;import java.util.Map; import android.os.Bundle;i ...

  10. [Js]基础知识

    一.JavaScript组成 1.ECMAScript 解释器.翻译(提供功能有限,如加减乘除,定义变量.函数等)   几乎没有兼容性问题 2.DOM    有一些兼容性问题 3.BOM(用的少,交互 ...