【UOJ #17】【NOIP 2014】飞扬的小鸟
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】飞扬的小鸟的更多相关文章
- NOIP 2014飞扬的小鸟(DP优化)
题目链接 飞扬的小鸟 考场的70分暴力(实际只有50分因为数组开小了……) 考场代码(数组大小已修改) #include <cstdio> #include <cstring> ...
- [NOIp 2014]飞扬的小鸟
Description Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一不小心撞到了水管或者掉 ...
- NOIp 2014飞扬的小鸟【dp】By cellur925
题目传送门 放在14年Day1T3的dp题目...应该比较看出来是dp算法吧,因为在本蒟蒻看来求最值的算法不清晰时就是dp了==. 状态还是比较好设计的,考虑到每个情况需要记录下的量:f[i][j]表 ...
- NOIP 提高组 2014 飞扬的小鸟(记录结果再利用的DP)
传送门 https://www.cnblogs.com/violet-acmer/p/9937201.html 参考资料: [1]:https://www.luogu.org/blog/xxzh242 ...
- UOJ #17. 【NOIP2014】飞扬的小鸟 背包DP
#17. [NOIP2014]飞扬的小鸟 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4902 Solved: 1879 题目连接 http:// ...
- 【UOJ 17】飞扬的小鸟
UOJ 17 题意:在\(n\times m\)的网格中有一些柱子,它们可以通过的区间是\((L_i,R_i)\),位置在\(P_i\).在第i个位置点击一次会使高度增加\(X_i\),不点击会使高度 ...
- Codevs 3729 飞扬的小鸟
飞扬的小鸟 标签 动态规划 NOIp提高组 2014 难度 提高+/省选- 题目描述 Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小 ...
- NOIP 2014 提高组 题解
NOIP 2014 提高组 题解 No 1. 生活大爆炸版石头剪刀布 http://www.luogu.org/problem/show?pid=1328 这是道大水题,我都在想怎么会有人错了,没算法 ...
- 洛谷 P1941 飞扬的小鸟
洛谷 P1941 飞扬的小鸟 原题链接 首先吐槽几句 noip都快到了,我还不刷起联赛大水题! 题目描述 Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节 ...
- NOIP 2014 提高组 Day1
期望得分:100+100+50=250 实际得分:100+100+50=250 此次NOIP ZJ省一分数线:500,SD:345 https://www.luogu.org/problem/lis ...
随机推荐
- 分布式系统理论之Quorum机制
一,Quorum机制介绍 在分布式系统中有个CAP理论,对于P(分区容忍性)而言,是实际存在 从而无法避免的.因为,分布系统中的处理不是在本机,而是网络中的许多机器相互通信,故网络分区.网络通信故障问 ...
- 第二届中国移动互联网测试大会PPT
第二届中国移动互联网测试大会PPT下载_360云盘 (提取密码:7799) 第二届中国移动互联网测试大会PPT下载_百度云盘 (提取密码: ws8m) 第二届中国移动互联网测试大会PPT下载_Goog ...
- openjudge1768 最大子矩阵[二维前缀和or递推|DP]
总时间限制: 1000ms 内存限制: 65536kB 描述 已知矩阵的大小定义为矩阵中所有元素的和.给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵. 比如,如下4 * 4的 ...
- windows 如何查看端口占用情况?
原文来自:http://www.iteye.com/topic/1117270 开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这 ...
- SQL各种语句、函数
1.更改数据库的名称 2.表中有数据的情况下再添加列.删除列 3.在SQLServer 中各种查询语句的使用示例 4.模糊查询的语句 5.排序语句.排序并查前三名的语句 聚合函数:sum,avg,ma ...
- [No000021]跟维多利亚学英语
- 利用MySQL存储过程分割字符串
(转)http://tec.5lulu.com/detail/104krn1e6p2w78d77.html 现有一段字符串,如apple,banana,orange,pears,grape,要把它按照 ...
- MySQL的mysql_insert_id和LAST_INSERT_ID(转)
本文介绍的是mysql中last_insert_id和mysql_insert_id的区别 1 mysql_insert_id 一.PHP获取MYSQL新插入数据的ID mysql_insert_id ...
- C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 拆分表、联系方式的拆分?
当用户数据有接近10万时,而且多表的关联也比较频繁时,能把大表拆为小表,也会提高系统的性能,I/O.运算性能.当然以后用户数据会更大可能会到30-40万以上,所有有能力时适当拆表,分分合合,合合分分也 ...
- Display HTML in WPF and CefSharp
https://www.codeproject.com/articles/881315/display-html-in-wpf-and-cefsharp-tutorial-part Download ...