尼克的任务 dp 洛谷1280
蒟蒻表示老久没看过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相关推荐
- 树形DP 洛谷P1272 道路重建
好久没有更新博客了 But!今天凌晨突然发现spli神竟然不可描述地......本dog受到上亿吨伤害,看来spli神是要向sdfzyhx学习啊!!! 于是今天又开始脑抽地写博客了. P1272 重建 ...
- #数位dp#洛谷 4317 花神的数论题
感谢dalao@小粉兔的帮助 dalao's 博客园,dalao's 洛谷博客 题目 设f[i]f[i]f[i]表示iii转化为二进制后1的个数,求∏i=1nf[i]\prod_{i=1}^nf[i] ...
- [二维DP] 洛谷P1736 创意吃鱼法(预处理)
题目 LP1736 思路 本题作为一道提高+/省选-的题,基本思路是自己想出来的,拿了90,然后有一个小bug一直没发现,拿来标程对比,改了这个bug然后AC,还是很开心的. 首先,借鉴最大正方形的经 ...
- 尼克的任务(洛谷-P1280)
题目描述 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成. 尼克的一个工作日为N分钟,从第一分钟开始 ...
- [状压dp]洛谷 P2157 学校食堂
题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数 ...
- [状压dp] 洛谷 P1879 玉米田
题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ...
- [背包DP] 洛谷相关题目整理与练习(74题-)
题目 以背包为标签,搜出了这么多题,按难度排序,一道一道做: (*):下面有提到 TODO 题目 难度 备忘录 AC 采药 普及- 01背包模板 AC 开心的金明 普及- 01背包模板 AC 小A点菜 ...
- dp——洛谷P1240 诸侯安置
https://www.luogu.org/problem/show?pid=1240 哇很好的一道题目诶: 和那个八皇后很像的,但是八皇后是一年前做的题了: 这个我们搜索就算了,虽然用一些技巧也不是 ...
- [dp]洛谷 P2331 最大子矩阵
题目描述 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大.注意:选出的k个子矩阵不能相互重叠. 输入输出格式 输入格式: 第一行为n,m,k(1≤n≤100,1≤m≤2 ...
最新文章
- Tomcat虚拟主机配置
- MapXtreme2008中操作矢量符号和定制符号
- 腾讯+字节+阿里面经真题汇总,Android篇
- 【牛客 - 157B】凤凰(树上并查集,dfs)
- VS2010不能编译.Net3.5项目的解决方法
- 从源码分析RocketMQ系列-start()方法详解
- 线性回归实现——梯度下降
- k8s重要概念及部署k8s集群
- 【图像提取】基于matlab形态学矩阵块+线段提取【含Matlab源码 1014期】
- 各大网站网页代码_清明节各大网站实现变灰效果(一行代码搞定)
- UE4 蓝图文档阅读笔记
- 机器视觉运动控制一体机应用例程 | 瓶盖密封完整性检测
- 夜深人静写算法(一)- 搜索入门
- 30 多名腾讯工程师,七天七夜拯救微盟的奇迹行动
- AD软件PCB快捷键
- 电单车中的N车模长得啥样呢?
- 用户名片 2:Nginx 与图片深度解析
- 【Java笔记+踩坑】SpringBoot基础2——运维实用
- 神经网络为什么要使用激活函数,为什么relu要比sigmoid要好
- 二叉树的三种遍历方式(递归、非递归和Morris遍历)
热门文章
- locust入门:单机使用locust运行压力测试
- Alibaba Cloud Linux 2.1903 LTS 64位服务器yum源下载404,Alibaba Cloud Linux 2实例中使用docker-ce、epel等YUM源安装软件失败
- dev c++ 调试时候发生软件崩溃解决办法
- 2022-2028年中国醋酸行业投资分析及前景预测报告
- Go 知识点(07)— 对已经关闭通道进行读写
- attention seq2seq transformer bert 学习总结 _20201107
- 面试高频——JUC并发工具包快速上手(超详细总结)
- PyTorch 进行 Neural-Transfer
- Pipe Utilization管道利用率
- 2021年大数据常用语言Scala(二十八):scala面向对象 MAVEN依赖和类