题目性质:1.当前节点空闲则必须做任务,而不是可选可不选;2.然而前面的如果能覆盖当前节点,就可以不选。

解决方法:倒着扫可以很好地解决这两个问题。dp[i]为时刻i可得的最大空闲时间。如果此刻没有任务,则空闲时间+1;否则最大空闲时间等于任务结束节点的最大空闲时间:

     vector<int> dp(n + , );
int cnt = k - ;
irep(i, n, ) {
if (cnt < || a[cnt].first != i) {
dp[i] = dp[i + ] + ;
} else {
while (~cnt && a[cnt].first == i) {
dp[i] = max(dp[a[cnt--].second], dp[i]);
}
}
}

总代码main:

 int main() {
read(n), read(k);
vector<P> a;
rep(i, , k) {
int x, y;
read(x), read(y);
a.push_back(P(x, x + y));
}
sort(a.begin(), a.end());
vector<int> dp(n + , );
int cnt = k - ;
irep(i, n, ) {
if (cnt < || a[cnt].first != i) {
dp[i] = dp[i + ] + ;
} else {
while (~cnt && a[cnt].first == i) {
dp[i] = max(dp[a[cnt--].second], dp[i]);
}
}
}
writeln(dp[]);
return ;
}

洛谷1280(dp)的更多相关文章

  1. 洛谷 1373 dp 小a和uim之大逃离 良心题解

    洛谷 1373 dp 这题还不算太难,,当初看的时候不是很理解题意,以为他们会选择两条不同的路径,导致整体思路混乱 传送门 其实理解题意和思路之后还是敲了不短的时间,一部分身体原因再加上中午休息不太好 ...

  2. 洛谷 1052 dp 状态压缩

    洛谷1052 dp 状态压缩 传送门 (https://www.luogu.org/problem/show?pid=1052#sub) 做完这道题之后,感觉涨了好多见识,以前做的好多状压题目都是将一 ...

  3. 洛谷 1156 dp

    洛谷1156 dp 类背包问题 老久没有自己想出来过dp方程了,,,虽然到最后还是只写了30分,,, 设dp[j]表示最大生命值为i时的最大高度,则对于每个物品,可以选择吃掉或者放上去,即转移为dp[ ...

  4. 洛谷 1063 dp 区间dp

    洛谷 1063 dp 区间dp 感觉做完这道提高组T1的题之后,受到了深深的碾压,,最近各种不在状态.. 初看这道题,不难发现它具有区间可并性,即(i, j)的最大值可以由(i, k) 与 (k+1, ...

  5. 洛谷 2409 dp 月赛题目

    洛谷 2409 dp 洛谷十月月赛T1,一道有些interesting的dp题目,当时做的时候想的比较复杂,根本没有往dp的方向去想.. 非官方题解: 1.据说可以使用优先队列来处理,参见Uva119 ...

  6. 尼克的任务 dp 洛谷1280

    蒟蒻表示老久没看过dp题目了,,挺水的一道dp题目都没想出来,,, 首先设dp[i]表示从开始到i时间的最大空闲时间,用vector to[x] 表示从x点开始的任务结束时间,cnt[x]表示从x开始 ...

  7. 洛谷 1004 dp或最大费用流

    思路: dp方法: 设dp[i][j][k][l]为两条没有交叉的路径分别走到(i,j)和(k,l)处最大价值. 则转移方程为 dp[i][j][k][l]=max(dp[i-1][j][k-1][l ...

  8. AC日记——导弹拦截 洛谷 P1020 (dp+模拟)

    题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...

  9. 洛谷1417 烹调方案 dp 贪心

    洛谷 1417 dp 传送门 挺有趣的一道dp题目,看上去接近于0/1背包,但是考虑到取每个点时间不同会对最后结果产生影响,因此需要进行预处理 对于物品x和物品y,当时间为p时,先加x后加y的收益为 ...

随机推荐

  1. hdu1198 Farm Irrigation —— dfs or 并查集

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1198 dfs: #include<cstdio>//hdu1198 dfs #includ ...

  2. zabbix数据库创建初始化

    MariaDB [(none)]> create database zabbix character set utf8; MariaDB [(none)]> grant all privi ...

  3. Mongodb 官网驱动2.2.4.26版本 增,删 改,查,mongodb2.2.4.26

    Mongodb是3.2.7版本 最近在学习mongodb数据库在网上找到的都不是2.X版本以下的,因为驱动从2.X以后修改了很多,以前不支持linq现2.X也支持了, Mongodb 启动服务就不说了 ...

  4. 【转载】Java的接口和抽象类

    尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.com/dolphin0520/p/3811437.html 也不知道,面试为什么经常用到这个知识点—— 一.抽象类 在了 ...

  5. EDM文件编写规范及注意事项

    [设计EDM邮件] (1)乱码:你没法知道所有用户的系统环境,因此使用utf8来避免乱码是非常重要的 (2)绝对URL:若是相对URL,用户在打开页面是将看不到图片 (3)图片Alt属性:大多数邮件服 ...

  6. testing

    doctest_test.py def square(x): ''' 这里需要空格 >>> square(2) 4 啦啦 >>> square(3) 9 上不一行能 ...

  7. CentOS7设置系统/yum以及firefox web代理上网

    一.系统全局的代理设置: 用vi/vim编辑器打开/etc/profile,追加如下内容: http_proxy=http://192.168.78.124:8080 ftp_proxy=http:/ ...

  8. C++之引用&的详解

    C++中的引用: 引用引入了对象的一个同义词.定义引用的表示方法与定义指针相似,只是用&代替了*.引用(reference)是c++对c语言的重要扩充.引用就是某一变量(目标)的一个别名,对引 ...

  9. Markdown Reader 插件改造

    Markdown Reader 是一款比较好用的浏览markdown文件的chrome插件 插件地址:https://chrome.google.com/webstore/detail/markdow ...

  10. SQL Server中误删除数据的恢复

    SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的数据库完全备份. 2. 数据库的恢复模式(Recovery m ...