坑人啊朴素的dp 75分

用了完全背包才是80分,结果普遍偏小 为什么啊啊啊啊啊 等以后再写一遍吧

//

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N=,M=,INF=1e9;
int n,m,k, x,y,p,ll,hh;
int up[N],down[N],l[N],h[N], has[N];
int f[N][M];
int ans=INF;
void dp(){
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
f[i][j]=INF; for(int i=;i<=n;i++)
for(int j=l[i]+;j<h[i];j++){
int &now=f[i][j];
if(j==m)
for(int z=h[i-]-;z>l[i-];z--){
if(z==m) now=min(now,f[i-][z]+);
else if((m-z)%up[i-]==) now=min(now,f[i-][z]+(m-z)/up[i-]);
else now=min(now,f[i-][z]+(m-z)/up[i-]+);
}
else{
if(j-up[i-]>l[i]&&j-up[i-]<h[i]) now=min(now,f[i][j-up[i-]]+);
if(j-up[i-]>l[i-]&&j-up[i-]<h[i]) now=min(now,f[i-][j-up[i-]]+);
if(l[i-]<j+down[i-]&&j+down[i-]<h[i-]) now=min(now,f[i-][j+down[i-]]);
}
}
}
int main(){
scanf("%d%d%d",&n,&m,&k);
for(int i=;i<=n;i++) h[i]=m+;
for(int i=;i<n;i++){
scanf("%d%d",&x,&y);
up[i]=x;
down[i]=y;
}
for(int i=;i<k;i++){
scanf("%d%d%d",&p,&ll,&hh);
l[p]=ll;
h[p]=hh;
has[p]=;
} dp();
for(int j=l[n]+;j<h[n];j++) ans=min(ans,f[n][j]);
if(ans==INF){
cout<<<<"\n";
int flag=;
for(int i=n-;i>=;i--){
for(int j=l[i]+;j<h[i];j++){
if(f[i][j]<INF) {
int tmp=;
for(int z=;z<=i;z++) tmp+=has[z];
cout<<tmp;
flag=;break;
}
}
if(flag) break;
}
}else{
cout<<<<"\n"<<ans;
} // cout<<"\n\n\n";
// for(int i=0;i<=n;i++) cout<<has[i]<<"\n";
// for(int i=0;i<=n;i++)
// for(int j=l[i]+1;j<h[i];j++){
// printf("%d %d %d\n",i,j,f[i][j]);
// } }

NOIP2014飞扬的小鸟[DP][WRONG]的更多相关文章

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

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

  2. luogu1941 [NOIp2014]飞扬的小鸟 (dp)

    设f[i][j]为到达(i,j)这个位置的最小操作数 就有$f[i][j]=min\{f[i-1][j+Y[i-1]],f[i-1][j-X[i-1]*k]+k\}$ 然后考虑优化一下转移: 对于一系 ...

  3. LOJ2500 NOIP2014 飞扬的小鸟 【背包DP】*

    LOJ2500 NOIP2014 飞扬的小鸟 LINK 题目大意就是说有n个柱子,在每一秒你可以选择不点下降高度y和点p次上升x∗p,若果当前位置加上x∗p大于上界m,就会停在m. 如果可以成功穿越所 ...

  4. 飞扬的小鸟 DP

    飞扬的小鸟 DP 细节有点恶心的DP,设\(f[i][j]\)表示横坐标为\(i\)(从\(0\)开始)高度为\(j\)时,屏幕点击的最小次数为\(f[i][j]\),转移便很好写了,这里要注意枚举当 ...

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

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

  6. NOIP2014 飞扬的小鸟

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

  7. vijos1907[noip2014]飞扬的小鸟(完全背包)

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

  8. NOIP2014飞扬的小鸟

    长为n,高为m的二维平面,其中有k个管道(忽略管道的宽度)小鸟始终在游戏界面内移动.从最左边任意高度位置出发,到达游戏界面最右边,游戏完成每个单位时间沿横坐标方向右移距离为1,竖直移动的距离由玩家控制 ...

  9. P1941 飞扬的小鸟[dp]

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

随机推荐

  1. CSS选择符详解

    一.类型选择符 什么是类型选择符?指以网页中已有的标签类型作为名称的行径符.body是网页中的一个标签类型,div,p,span都是. 如下: body {} div {} p {} span {} ...

  2. css引入方式优先级以及不同选择器的优先级区别

    我们都知道css有3种基本设置方式即 1.行内也叫嵌入式 例如: <div style='background:red'></div> 2.内联式,在html文件中用style ...

  3. 送给我的朋友——Cry on my shoulder

    If the hero never comes to you如果你的真命天子仍未来到 If you need someone you"re feeling blue如果你情绪低落需要有人陪伴 ...

  4. 也来谈谈wap端瀑布流布局

    Definition 瀑布流布局,在视觉上表现为参差不齐的多栏布局,随着页面滚动条向下滚动,新数据不断被加载进来. 瀑布流对于图片的展现,是高效而具有吸引力的,用户一眼扫过的快速阅读模式可以在短时间内 ...

  5. Atitit.在线充值功能的设计

    Atitit.在线充值功能的设计 1. 流程1 2. Js sdk api   增加订单1 3. Java api 返回servlet处理1 3.1. 返回网址的本地host测试2 1. 流程 本地增 ...

  6. [转]很详细的devexpress应用案例

    很详细的devexpress应用案例,留着以后参考. 注:转载自http://***/zh-CN/App/Feature.aspx?AppId=50021 UPMS(User Permissions ...

  7. Android 开源框架Universal-Image-Loader完全解析(三)---源代码解读

    转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/39057201),请尊重他人的辛勤劳动成果,谢谢! 本篇文章 ...

  8. UITextField 的限制输入金额(可为小数的正确金额)

    要判断输入金额为正确金额的方法有两个,一个是用正则表达式,另一个就是用textfield的代理方法 有时候难免遇到这样的需求,不符合规则的金额就不让输入时,那用这种方法比较合理 如果设置输入键盘为De ...

  9. 怎么样使用yum来安装、卸载jdk

    安装好的CentOS会自带OpenJdk,用命令 java -version ,会有下面的信息: java version "1.6.0"OpenJDK  Runtime Envi ...

  10. qq邮箱过滤器 + Foxmail(IMAP)

      一.qq邮箱过滤器       二.Foxmail+  IMAP,实现自定义目录下载     IMAP介绍,和POP比较 如何在Foxmail中配置IMAP