洛谷p1280尼克的方案
来源:互联网 发布:软件开发 外包 杭州 编辑:程序博客网 时间:2024/04/30 22:04
原题
主要有两个问题
1.正推当作贪心联想区间覆盖问题,反例:大的覆盖小的。
2.逆推从任务结束时间开始推,反例:这和正推推开始时间有区别么?
实际上还是比较好想的,明显是线性,所以用一维f[i]表示i时最少工作时间;
那么大致想一个思路,f[i]=f[i+time]+time,这样就自动忽略了此时新来的工作。
根据转移方程,需要时间靠后的状态,所以倒着推,根据2,从开始的时间推。
#include<iostream>#include<iomanip>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>using namespace std;int n,k,a[10001],t[10001],f[10001],b[10001][51];bool vis[10001];int main(){ cin>>n>>k; memset(b,0,sizeof(b)); for(int i=1;i<=k;++i) { cin>>a[i]>>t[i]; b[a[i]][0]++; b[a[i]][b[a[i]][0]]=t[i]; } memset(f,0x7f,sizeof(f));f[n+1]=0; memset(vis,0,sizeof(vis)); for(int i=n;i>=1;--i) { if(b[i][0]==0) f[i]=f[i+1]; else { for(int j=1;j<=b[i][0];++j) f[i]=min(f[i],f[i+b[i][j]]+b[i][j]); } } cout<<n-f[1]; return 0;}
阅读全文
0 0
- 洛谷p1280尼克的方案
- [洛谷P1280]尼克的任务
- 洛谷 P1280 尼克的任务
- 【洛谷P1280】尼克的任务
- 洛谷 P1280 尼克的任务
- 洛谷P1280 尼克的任务
- 洛谷 P1280 尼克的任务
- 洛谷P1280 尼克的任务
- 洛谷 [P1280] 尼克的任务
- 洛谷P1280/tyvj1034 尼克的任务 DP
- 洛谷P1280 尼克的任务(dp)
- 洛谷P1280 尼克的任务(dp)
- P1280 尼克的任务
- 尼克的任务(P1280)
- P1280 尼克的任务
- [P1280]尼克的任务
- 动态规划 P1280 尼克的任务
- 洛谷 1280 尼克的任务
- 树莓派设备端口号绑定
- AVL树的插入与删除
- navicat for mysql 10.0.11(附密钥)
- Android第二天
- 2-1 求整数均值
- 洛谷p1280尼克的方案
- 留白篇
- 杭电-6180
- Leetcode57. Insert Interval
- python之验证用户输入
- JavaMail发送邮件
- 2-2 阶梯电价
- MySQL: 基于 Android 远程连接
- IO流,关于File类的一些;以及输入输出流 整理