正解:背包

解题报告:

话说好久没做背包的题了,都有些陌生了?这几天加强基础题目多刷点儿dp和背包趴qwq

其实这题是95...然后我下了我错的那个测试点,我答案是9874正解是9875...然后读入又特别多实在搞不下来...太难受了QAQ太恶心了QAQ

于是我就 打表然后美滋滋地A了 挣扎了一会儿之后不得不面向数据编程A了这题

昂大概港下思路趴?我觉得我的思路应该是没错的...毕竟过了95分应该还是没有大问题dei

就是两个背包,一个完全一个01

完全是在于因为我们可以往上跳很多次鸭,所以就从小往大地做f[i][j]=min(f[i-1][j-x[i-1]]+1,f[i][j-x[i-1]]+1)

然后01是往下降只能降一次,然后就f[i][j]=min(f[i][j],f[i-1][j+y[i-1]])

然后注意一下那个到顶上的事儿特殊处理下就成了

对了这题的话我们可以发现其实f[i][]只会从f[i-1][]和f[i][]转移来所以其实应该是可以开f[1/2/3][]就够了?(当开不下的时候

但是反正是开得下的而且那样很麻烦鸭,那就直接设就行了不用想那么多嘛qwq

over.放个代码我就去做NOIp2014最后一题辣!我真滴觉得我今天能搞完14年的!yeah!

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define rp(i,x,y) for(register ll i=x;i<=y;++i)

+,M=+;
ll n,m,k,x[N],y[N],f[N][M],ans;
struct guandao{ll l,h;}gd[N];
;

inline ll read()
{
    ;;
    '))ch=getchar();
    if(ch=='-')ch=getchar();
    )+(x<<)+(ch^'),ch=getchar();
    return y?x:-x;
}
inline ll check(){;i--)rp(j,,m)][])return i;}

int main()
{
    n=read();m=read();k=read();memset(f,/,][];
    rp(i,,n)x[i]=read(),y[i]=read(),gd[i].l=,gd[i].h=m+;gd[n+].l=;gd[n+].h=m+;
    rp(i,,k){ll t=read()+;gd[t].l=read(),gd[t].h=read();}
    rp(i,gd[].l+,gd[].h-)f[][i]=;++n;
    rp(i,,n)
    {
        rp(j,x[i-]+,x[i-]+m)f[i][j]=min(f[i-][j-x[i-]]+,f[i][j-x[i-]]+);
        rp(j,m+,m+x[i-])f[i][m]=min(f[i][m],f[i][j]);
        rp(j,,m-y[i-])f[i][j]=min(f[i][j],f[i-][j+y[i-]]);
        rp(j,,gd[i].l)f[i][j]=f[][];rp(j,gd[i].h,m)f[i][j]=f[][];
    }
    rp(i,gd[n].l+,gd[n].h-)if(f[n][i])ans=min(f[n][i],ans);
    )++ans;
    ][]);
    ll cjk=check();
    ans=;
    rp(i,,cjk) || gd[i].h!=m+)++ans;
    printf("0\n%lld\n",ans);
    ;
}

95我也很绝望鸭QAQ

洛谷P1941 飞扬的小鸟 [noip2014] 背包的更多相关文章

  1. 2018.11.06 洛谷P1941 飞扬的小鸟(背包)

    传送门 上升看成完全背包. 下降看成01背包. 注意边界转移就行了. 代码: #include<bits/stdc++.h> using namespace std; inline int ...

  2. 洛谷P1941飞扬的小鸟 完全背包

    思维难度不大,就是有许多细节要注意. 1.不能开滚动数组. 2.要特判飞过天花板的情况. Code: #include<cstdio> #include<algorithm> ...

  3. 洛谷 P1941 飞扬的小鸟

    洛谷 P1941 飞扬的小鸟 原题链接 首先吐槽几句 noip都快到了,我还不刷起联赛大水题! 题目描述 Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节 ...

  4. Codevs 3729==洛谷P1941 飞扬的小鸟

    P1941 飞扬的小鸟 456通过 2.4K提交 题目提供者该用户不存在 标签动态规划2014NOIp提高组 难度提高+/省选- 提交该题 讨论 题解 记录   题目描述 Flappy Bird 是一 ...

  5. [洛谷P1941] 飞扬的小鸟

    洛谷题目链接:飞扬的小鸟 题目描述 Flappy Bird是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一不小心撞到了 ...

  6. [NOIP2014] 提高组 洛谷P1941 飞扬的小鸟

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

  7. 洛谷P1941 飞扬的小鸟(背包 dp)

    题意 题目链接 Sol 很显然的dp,设\(f[i][j]\)表示第\(i\)个位置,高度为\(j\)的最小步数 向上转移的时候是完全背包 向下转移判断一下就可以 #include<bits/s ...

  8. 洛谷P1941飞扬的小鸟——细节DP

    题目:https://www.luogu.org/problemnew/show/P1941 此题主要注意许多细节,详见代码. 代码如下: #include<iostream> #incl ...

  9. 洛谷 P1941 飞扬的小鸟 (NOIP 2014)

    题面 题解 背包细节题,wa了一片,上升的过程我们可以看做一个完全背包(多重背包好像跑不过去),下降 过程是一个0/1背包,为了避免冲突应该先跑多重,先跑0/1就有可能产生这个点又上升又下降的 非法情 ...

随机推荐

  1. Ansible 远程执行脚本

    1. 先在服务端创建一个 shell 脚本 [root@localhost ~]$ cat /tmp/test.sh #!/bin/bash echo "hello world" ...

  2. S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

    S3C6410裸奔之旅——RVDS2.2编译.仿真.调试过程 LED流水灯 (2012-10-13 23:56:30) 转载▼ 标签: s3c6410裸奔 ok6410 rvds2.2 rvds2.2 ...

  3. RabbitMq 之简单队列

    简单队列类似于我们的生产者,消费者, 一个生产者,对应一个消费者. 直接上代码: package com.j1.rabbitmq.simple; import com.j1.rabbitmq.util ...

  4. es 5.0 拼音分词器 mac

    安装方法和ik中文分词器一样, 先下载: https://github.com/medcl/elasticsearch-analysis-pinyin 执行: mvn package; 打包成功以后, ...

  5. linux实现开机自启动脚本

    Linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有 ...

  6. codeforces水题100道 第二十四题 Codeforces Beta Round #85 (Div. 2 Only) A. Petya and Strings (strings)

    题目链接:http://www.codeforces.com/problemset/problem/112/A题意:忽略大小写,比较两个字符串字典序大小.C++代码: #include <cst ...

  7. 安卓APP动态调试-IDA实用攻略

    0x00 前言 随着智能手机的普及,移动APP已经贯穿到人们生活的各个领域.越来越多的人甚至已经对这些APP应用产生了依赖,包括手机QQ.游戏.导航地图.微博.微信.手机支付等等,尤其2015年春节期 ...

  8. psr-4

    自动加载: <?php function autoload($className) { $className = ltrim($className, '\\'); $fileName = ''; ...

  9. 移除DuiLib项目Linker中的riched20.lib

    如果已安装Windows SDK.Windows Mobile SDK且默认包含这些目录编译源代码没有问题.由于一些改动需要版本管理发现Build Agent运行失败,考虑到迁移各方面原因还是决定修改 ...

  10. jenkins或ansible启动应用不成功日志又不报错

    碰到ansible无法起停tomcat的时候,有3个点需要关注 1.环境变量,在startup.sh中添加source /etc/profile 2.后台运行,加上nohup...& 3.单独 ...