坑人啊朴素的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. [js开源组件开发]table表格组件

    table表格组件 表格的渲染组件,demo请点击http://lovewebgames.com/jsmodule/table.html,git源码请点击https://github.com/tian ...

  2. 使用js制作一般网站首页图片轮播效果

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

  3. javascript --- 原型初探七日谈(一)

    在javascript中,像原型,闭包这样的概念,只要我们能领悟其中的原理,一切都会显得格外清晰与明了. 原型属性(prototype): 下面我们简单定义一个函数 function her(a, b ...

  4. URL-统一资源定位器

    URL - Uniform Resource Locator URL 可以由单词组成,比如 “w3school.com.cn”,或者是因特网协议(IP)地址:192.168.1.253.大多数人在网上 ...

  5. ubuntu环境变量

    在Ubuntu中有如下几个文件可以设置环境变量1./etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.2. ...

  6. ubuntu 12.04 react-native 安装

    1.安装nodejs 和npm apt-get install nodejs apt-get install npm 2. 升级node js 和npm sudo npm cache clean -f ...

  7. sqlite 增删改查

    PersonDao1.java package mm.shandong.com.testsqlsqllite.dao; import android.content.Context; import a ...

  8. android 比较完善json请求格式

    public static String getHttpText(String url) { if (MyApplication.FOR_DEBUG) { Log.i(TAG, "[getH ...

  9. Xshell与securecrt之间不同

    现在比较受欢迎的终端模拟器软件当属xshell和securecrt了,现在就客观的分析一下两款软件,以便更好选择. 一.功能对比1.1Xshell功能 支持布局切换 可调整执行顺序 提供多标签功能 对 ...

  10. 【转】超实用的JavaScript技巧及最佳实践

    众所周知,JavaScript是一门非常流行的编程语言,开发者用它不仅可以开发出炫丽的Web程序,还可以用它来开发一些移动应用程序(如PhoneGap或Appcelerator),它还有一些服务端实现 ...