蒟蒻表示老久没看过dp题目了,,挺水的一道dp题目都没想出来,,,

  首先设dp[i]表示从开始到i时间的最大空闲时间,用vector to[x] 表示从x点开始的任务结束时间,cnt[x]表示从x开始的任务个数,初始化dp[i] i = 1 -> n 为 -1, dp[0]为0

  转移时,对于dp[i],如果dp[i-1] 为 -1,无法完成转移

  如果dp[i-1] > 0分两种情况

  1、如果i时刻无任务,直接dp[i] = max{dp[i], dp[i-1] + 1}

  2、如果i时刻有任务,枚举任务,使dp[to[i][j]] = max{dp[to[i][i]],dp[i-1]}

  输出dp[n]即为结果

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #include <vector>
 5
 6
 7 const int maxn = 10000 + 500;
 8 int n, k;
 9 std :: vector <int> to[maxn];
10 int dp[maxn], cnt[maxn];
11 int tx, ty;
12
13 int main () {
14     scanf("%d %d", &n, &k);
15     for (int i = 1; i <= k; i++) {
16         scanf("%d %d", &tx, &ty);
17         to[tx].push_back(tx + ty - 1);
18         cnt[tx]++;
19     }
20     for (int i = 1; i <= n; i++) dp[i] = -1;
21     dp[0] = 0;
22     for (int i = 1; i <= n; i++) {
23         if (dp[i-1] >= 0) {
24             if (cnt[i] > 0) {
25                 for (int j = 0; j < to[i].size(); j++)
26                     dp[to[i][j]] = std :: max(dp[to[i][j]], dp[i-1]);
27             } else {
28                 dp[i] = std :: max(dp[i], dp[i-1] + 1);
29             }
30         }
31     }
32     printf("%d", dp[n]);
33     return 0;
34 }

转载于:https://www.cnblogs.com/CtsNevermore/p/5993094.html

尼克的任务 dp 洛谷1280相关推荐

  1. 树形DP 洛谷P1272 道路重建

    好久没有更新博客了 But!今天凌晨突然发现spli神竟然不可描述地......本dog受到上亿吨伤害,看来spli神是要向sdfzyhx学习啊!!! 于是今天又开始脑抽地写博客了. P1272 重建 ...

  2. #数位dp#洛谷 4317 花神的数论题

    感谢dalao@小粉兔的帮助 dalao's 博客园,dalao's 洛谷博客 题目 设f[i]f[i]f[i]表示iii转化为二进制后1的个数,求∏i=1nf[i]\prod_{i=1}^nf[i] ...

  3. [二维DP] 洛谷P1736 创意吃鱼法(预处理)

    题目 LP1736 思路 本题作为一道提高+/省选-的题,基本思路是自己想出来的,拿了90,然后有一个小bug一直没发现,拿来标程对比,改了这个bug然后AC,还是很开心的. 首先,借鉴最大正方形的经 ...

  4. 尼克的任务(洛谷-P1280)

    题目描述 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成. 尼克的一个工作日为N分钟,从第一分钟开始 ...

  5. [状压dp]洛谷 P2157 学校食堂

    题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数 ...

  6. [状压dp] 洛谷 P1879 玉米田

    题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ...

  7. [背包DP] 洛谷相关题目整理与练习(74题-)

    题目 以背包为标签,搜出了这么多题,按难度排序,一道一道做: (*):下面有提到 TODO 题目 难度 备忘录 AC 采药 普及- 01背包模板 AC 开心的金明 普及- 01背包模板 AC 小A点菜 ...

  8. dp——洛谷P1240 诸侯安置

    https://www.luogu.org/problem/show?pid=1240 哇很好的一道题目诶: 和那个八皇后很像的,但是八皇后是一年前做的题了: 这个我们搜索就算了,虽然用一些技巧也不是 ...

  9. [dp]洛谷 P2331 最大子矩阵

    题目描述 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大.注意:选出的k个子矩阵不能相互重叠. 输入输出格式 输入格式: 第一行为n,m,k(1≤n≤100,1≤m≤2 ...

最新文章

  1. Tomcat虚拟主机配置
  2. MapXtreme2008中操作矢量符号和定制符号
  3. 腾讯+字节+阿里面经真题汇总,Android篇
  4. 【牛客 - 157B】凤凰(树上并查集,dfs)
  5. VS2010不能编译.Net3.5项目的解决方法
  6. 从源码分析RocketMQ系列-start()方法详解
  7. 线性回归实现——梯度下降
  8. k8s重要概念及部署k8s集群
  9. 【图像提取】基于matlab形态学矩阵块+线段提取【含Matlab源码 1014期】
  10. 各大网站网页代码_清明节各大网站实现变灰效果(一行代码搞定)
  11. UE4 蓝图文档阅读笔记
  12. 机器视觉运动控制一体机应用例程 | 瓶盖密封完整性检测
  13. 夜深人静写算法(一)- 搜索入门
  14. 30 多名腾讯工程师,七天七夜拯救微盟的奇迹行动
  15. AD软件PCB快捷键
  16. 电单车中的N车模长得啥样呢?
  17. 用户名片 2:Nginx 与图片深度解析
  18. 【Java笔记+踩坑】SpringBoot基础2——运维实用
  19. 神经网络为什么要使用激活函数,为什么relu要比sigmoid要好
  20. 二叉树的三种遍历方式(递归、非递归和Morris遍历)

热门文章

  1. locust入门:单机使用locust运行压力测试
  2. Alibaba Cloud Linux 2.1903 LTS 64位服务器yum源下载404,Alibaba Cloud Linux 2实例中使用docker-ce、epel等YUM源安装软件失败
  3. dev c++ 调试时候发生软件崩溃解决办法
  4. 2022-2028年中国醋酸行业投资分析及前景预测报告
  5. Go 知识点(07)— 对已经关闭通道进行读写
  6. attention seq2seq transformer bert 学习总结 _20201107
  7. 面试高频——JUC并发工具包快速上手(超详细总结)
  8. PyTorch 进行 Neural-Transfer
  9. Pipe Utilization管道利用率
  10. 2021年大数据常用语言Scala(二十八):scala面向对象 MAVEN依赖和类