http://uoj.ac/problem/17

dp,注意细节。

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int in() {
int k = 0, fh = 1; char c = getchar();
for(; c < '0' || c > '9'; c = getchar())
if (c == '-') fh = -1;
for(; c >= '0' && c <= '9'; c = getchar())
k = (k << 3) + (k << 1) + c - '0';
return k * fh;
} bool guan[10003];
int n, m, k, inf, up[10003], down[10003], X[10003], Y[10003], f[10003][1003]; void newit(int &a, int b, int delta) {
if (b != inf) {
if (a == inf) a = b + delta;
else a = min(a, b + delta);
}
} int main() {
n = in(); m = in(); k = in();
for(int i = 1; i <= n; ++i)
X[i] = in(), Y[i] = in();
for(int i = 1; i <= n; ++i) down[i] = 1, up[i] = m;
int pos;
for(int i = 1; i <= k; ++i) {
pos = in();
guan[pos] = true;
down[pos] = in();
up[pos] = in();
++down[pos];
--up[pos];
} memset(f, 127, sizeof(f)); inf = f[0][0];
for(int i = 1; i <= m; ++i)
f[0][i] = 0; int tmp = 0;
for(int i = 1; i <= n; ++i) {
for(int j = 1; j <= m; ++j)
if (j != m) {
if (j > X[i]) {
f[i][j] = min(f[i][j], f[i - 1][j - X[i]] + 1);
f[i][j] = min(f[i][j], f[i][j - X[i]] + 1);
}
} else {
for(int k = max(1, m - X[i]); k <= m; ++k) {
f[i][j] = min(f[i][j], f[i - 1][k] + 1);
f[i][j] = min(f[i][j], f[i][k] + 1);
}
} for(int j = down[i]; j <= up[i]; ++j) {
if (j + Y[i] <= m) f[i][j] = min(f[i][j], f[i - 1][j + Y[i]]);
if (f[i][j] < inf) tmp = i;
}
for(int j = 0; j < down[i]; ++j) f[i][j] = inf;
for(int j = up[i] + 1; j <= m; ++j) f[i][j] = inf;
if (tmp != i) break;
} int ans;
if (tmp == n) {
puts("1");
ans = inf;
for(int i = down[n]; i <= up[n]; ++i)
if (f[n][i] < ans) ans = f[n][i];
printf("%d\n", ans);
} else {
puts("0");
ans = 0;
for(int i = 0; i <= tmp; ++i)
if (guan[i]) ++ans;
printf("%d\n", ans);
}
return 0;
}

QwQ

【UOJ #17】【NOIP 2014】飞扬的小鸟的更多相关文章

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

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

  2. [NOIp 2014]飞扬的小鸟

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

  3. NOIp 2014飞扬的小鸟【dp】By cellur925

    题目传送门 放在14年Day1T3的dp题目...应该比较看出来是dp算法吧,因为在本蒟蒻看来求最值的算法不清晰时就是dp了==. 状态还是比较好设计的,考虑到每个情况需要记录下的量:f[i][j]表 ...

  4. NOIP 提高组 2014 飞扬的小鸟(记录结果再利用的DP)

    传送门 https://www.cnblogs.com/violet-acmer/p/9937201.html 参考资料: [1]:https://www.luogu.org/blog/xxzh242 ...

  5. UOJ #17. 【NOIP2014】飞扬的小鸟 背包DP

    #17. [NOIP2014]飞扬的小鸟 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4902  Solved: 1879 题目连接 http:// ...

  6. 【UOJ 17】飞扬的小鸟

    UOJ 17 题意:在\(n\times m\)的网格中有一些柱子,它们可以通过的区间是\((L_i,R_i)\),位置在\(P_i\).在第i个位置点击一次会使高度增加\(X_i\),不点击会使高度 ...

  7. Codevs 3729 飞扬的小鸟

    飞扬的小鸟 标签 动态规划 NOIp提高组 2014 难度 提高+/省选- 题目描述 Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小 ...

  8. NOIP 2014 提高组 题解

    NOIP 2014 提高组 题解 No 1. 生活大爆炸版石头剪刀布 http://www.luogu.org/problem/show?pid=1328 这是道大水题,我都在想怎么会有人错了,没算法 ...

  9. 洛谷 P1941 飞扬的小鸟

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

  10. NOIP 2014 提高组 Day1

    期望得分:100+100+50=250 实际得分:100+100+50=250 此次NOIP  ZJ省一分数线:500,SD:345 https://www.luogu.org/problem/lis ...

随机推荐

  1. 求最大边/最小边的比值最小的路径 codevs 1001 舒适的路线

    codevs 1001 舒适的路线 2006年  时间限制: 2 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond   题目描述 Description Z小镇是一个景色宜人 ...

  2. java编程思想读书笔记三(11-21)

    十一:持有对象 >持有对象实例 ●数组将数字与对象联系起来.它保存类型明确的对象,查询对象时,不需要对结果做类型转换.他可以是多维的. 可以保存基本的数据类型.但是,数组一旦生成,容量就不会在变 ...

  3. JDK-Logger

    log4j的作者Ceki Gülcü在停止维护log4j后开始新的日志组件的开发,他的新作为日志门面slf4j以及log4j的替代品logback.不过logback至今还没有出1.0的正式版,所以使 ...

  4. IT菜鸟的第一天

    小弟愚钝,被别人影响,打算入IT行业试试水的深浅,俗话说技不压身,多会一种就多一条路子,抱着这种求知的心态我就开始的我在汉企的IT生涯! 第一天无非就是简介,对IT行业的介绍,反正听得我挺懵的,不过介 ...

  5. [转]MVC整合Ajax

    MVC教程第五篇:MVC整合Ajax   2010-02-01 作者:张洋 来源:张洋的BLOG   摘要 本文将从完成“输入数据验证”这个功能出发,逐渐展开ASP.NET MVC与Ajax结合的方法 ...

  6. Noip2000 T3 单词接龙

    题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合 ...

  7. SQL Server日期与字符串之间的转换

    本文导读:在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.下面主要就介绍一下SQL Serv ...

  8. js判断是否在微信浏览器中打开

    用JS来判断,无论是android 还是iphone,ipad 都可以 function is_weixn(){ var ua = navigator.userAgent.toLowerCase(); ...

  9. html之marquee详解

    该标签不是HTML3.2的一部分,并且只支持MSIE3以后内核,所以如果你使用非IE内核浏览器(如:Netscape)可能无法看到下面一些很有意思的效果该标签是个容器标签语法: <marquee ...

  10. 【点滴积累,厚积薄发】windows schedule task中.exe程序的路径问题等问题总结

    1.在发布ReportMgmt的Job时遇到一个路径问题,代码如下: doc.Load(@"Configuration\Business\business.config");   ...