坑人啊朴素的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. 【经验之谈】前端面试知识点总结(HTML相关)——附答案

    目录 一.HTML部分 1.浏览器页面有哪三层构成,分别是什么,作用是什么? 2.HTML5的优点与缺点? 3.Doctype作用? 严格模式与混杂模式如何区分?它们有何意义? 4.HTML5有哪些新 ...

  2. 编写jquery常用插件的基本格式

    写jquery插件需要明白的那些知识点 1.jquery中$是神马?$.fn又是神马? 稍微有jquery经验的都知道在jquery中$等价于jQuery,在控制台一试便知: 我们在jquery(1. ...

  3. Tomcat部署记事

    1.导入证书到jdk里 keytool -import -alias 证书名称 -file 证书地址 -keystore 导入位置 例:keytool -import -alias co3 -file ...

  4. 从零开始,做一个NodeJS博客(一):Heroku上的最简NodeJS服务器

    标签:NodeJS,Heroku 0 这里是这个伪系列的第一篇,因为我也不知道自己能不能做完,然后到底能做成什么样子.总之,尽力而为吧,加油. 1 Heroku App 的构成 Heroku 所谓的 ...

  5. SharePoint Online 创建门户网站系列之导航

    前 言 关于SharePoint Online中的导航,基本是由Html + Css + JavaScript组成效果以及样式,然后在后台列表或者SharePoint Online元数据导航当做数据源 ...

  6. Android 创建一个新的Activity

    本文转载自:http://www.cnblogs.com/wuyudong/p/5658020.html 新建一个项目,创建一个java类,继承自Activity 新建一个Android.xml文件: ...

  7. 修改mac host

    /etc/hosts 把host 复制到桌面  修改  然后  替换原来的

  8. 【代码笔记】iOS-浮动的云

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...

  9. 开放-封闭原则(OCP)开-闭原则 和 依赖倒转原则,单一职责原则

    单一职责原则 1.单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因 2.如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会消弱或抑制这个类完成其他职责的能力. ...

  10. python 判断学期与学年

    9,10,11,12,1 第一学期 2,3,4,5,6,7 第二学期 其中8月份放假,暂且放入第一学期.因为大部分学校都选在8月底开学 import datetime def getXNandXQ() ...