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

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. 增强Web可用性,你需要避免的七大设计错误

    Web设计给了你展示自我创新才能的平台,同时也要求你特别关注其中的诸多琐碎细节.优秀的Web设计师需要从设计前辈那里获得设计灵感,寻求他们给的建议,并反复推敲,以及付出诸多努力.职业博客作者Rajni ...

  2. poj-----(2828)Buy Tickets(线段树单点更新)

    Buy Tickets Time Limit: 4000MS   Memory Limit: 65536K Total Submissions: 12930   Accepted: 6412 Desc ...

  3. target标签对于优化用户体验的作用

    最近开始关注target="_blank"标签,是源于对咨询区的采纳工作.帖子内容页是在原页面加载,这样问题就来了,每采纳完一个问题,必须得后退好几次才可以,很不方便.后来按ctr ...

  4. 51nod 1065 最小正子段和

    题目链接:51nod 1065 最小正子段和 房教说用前缀和做,然后看了别人博客懂了后就感觉,这个真有意思... #include<cstdio> #include<cstring& ...

  5. MySQL 命令杂记

    mysql> show processlist; 如果是root帐号,你能看到所有用户的当前连接.如果是其它普通帐号,只能看到自己占用的连接.show processlist;只列出前100条, ...

  6. 数据库与SQL语言

    数据库(DB) :长期储存在计算机中.有组织.可共享的数据的集合. 特点:(1)数据按一定的数据模型组织.描述和储存:(2)较小的冗余度:(3)数据独立性较高:(4)易扩展:(5)可共享(不同用户可按 ...

  7. myeclipse9.x,10.x 安装时出现pulse-one-64,failed to load the JNI shared library

  8. 启动项目报错Error: listen EADDRINUSE

    我在使用elasticsearch的kibana插件时候,有一次启动,遇到这个错误: Error: listen EADDRINUSE 它的意思是,端口5601被其他进程占用. 故而,需要kill掉那 ...

  9. VS2010静态编译生成.exe可执行文件

    VS2010静态编译生成的.exe可执行文件,可以在其他未安装VS2010的电脑直接运行. 静态编译:就是在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到 ...

  10. Linux - gcc和g++的区别

    一般linux系统都自带了gcc编译器的,你可以用你的安装光盘去安装,如果你是觉得自带的gcc版本太低了,可以去gcc的官方网站可以下载到,编译需要很长的时间,如果你只编译C或者C++可以只下载gcc ...