描述

尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成。
尼克的一个工作日为N分钟,从第一分钟开始到第N分钟结束。当尼克到达单位后他就开始干活。如果在同一时刻有多个任务需要完成,尼克可以任选其中的一个来做,而其余的则由他的同事完成,反之如果只有一个任务,则该任务必需由尼克去写成,假如某些任务开始时刻尼克正在工作,则这些任务也由尼克的同事完成。如果某任务于第P分钟开始,持续时间为T分钟,则该任务将在第P+T-1分钟结束。
写一个程序计算尼克应该如何选取任务,才能获得最大的空暇时间。

输入格式

输入数据第一行包含两个用空格隔开的整数N和K,1≤N≤10000,1≤K≤10000,N表示尼克的工作时间,单位为分,K表示任务总数。
接下来共有K行,每一行有两个用空格隔开的整数P和T,表示该任务从第P分钟开始,持续时间为T分钟,其中1≤P≤N,1≤P+T-1≤N。

输出格式

输出文件仅一行包含一个整数表示尼克可能获得的最大空暇时间。

测试样例1

输入

15 6 
1 2 
1 6 
4 11 
8 5 
8 1 
11 5

输出

4

备注

某ACM经典题
/*
如果设计状态为i分钟最多休息多长时间,则不满足最优子结构(我可以虽然休息少但是往后持续的时间优,从而能使后面的状态获得一个更优解)
但如果设计状态为从i时间开始工作能休息多长时间就行了,这是因为前面的对后面的安排有影响,而后面的安排对前面的安排没有影响
对于dp[i]如果有任务此刻开始就做,没有就是一秒后再工作,这一秒休息,用链表解决当前任务的问题可以提高效率
*/
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const int maxn = ;
int read(){
char ch=getchar();
int x=,f=;
while(!(ch>=''&&ch<='')){if(ch=='-')f=-;ch=getchar();};
while(ch>=''&&ch<=''){x=x*+(ch-'');ch=getchar();};
return x*f;
}
struct dat{
int e;
int nxt;
};
int n,k;
int cnt,head[maxn];
dat a[maxn];
int dp[maxn];
void ins(int p,int t){
cnt++;
a[cnt].e = p + t;
a[cnt].nxt = head[p];
head[p] = cnt;
}
int main(){
n = read();
k = read();
int u,v;
for(int i = ;i <= k;i++){
u = read();
v = read();
ins(u,v);
}
bool flag;
for(int i = n;i >= ;i--){
flag = false;
for(int j = head[i];j;j = a[j].nxt){
dp[i] = max(dp[i],dp[a[j].e]);
flag = true;
}
if(!flag) dp[i] = max(dp[i],dp[i+]+);
}
cout<<dp[];
return ;
}

tyvj1034 尼克的任务的更多相关文章

  1. 洛谷P1280 尼克的任务[DP]

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

  2. TYVJ P1034 尼克的任务 Label:倒推dp

    背景 题库靠大家,人人都爱它. 描述 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成.尼克的一个工作 ...

  3. Codevs 1158 尼克的任务

    1158 尼克的任务 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮 ...

  4. (转载)最黑的黑客米特尼克:多次耍FBI 终被高手擒

    (转载)http://bbs.chinabyte.com/thread-816847-1-1.html 凯文·米特尼克 50岁 第一个被FBI通缉的黑客,被称为“头号电脑骇客”,曾入侵北美防空指挥系统 ...

  5. kaggle之泰坦尼克的沉没

    Titanic 沉没 参见:https://github.com/lijingpeng/kaggle 这是一个分类任务,特征包含离散特征和连续特征,数据如下:Kaggle地址.目标是根据数据特征预测一 ...

  6. P1280 尼克的任务

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

  7. 「LuoguP1280」尼克的任务

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

  8. Kaggle 泰坦尼克

    入门kaggle,开始机器学习应用之旅. 参看一些入门的博客,感觉pandas,sklearn需要熟练掌握,同时也学到了一些很有用的tricks,包括数据分析和机器学习的知识点.下面记录一些有趣的数据 ...

  9. Kaggle泰坦尼克数据科学解决方案

    原文地址如下: https://www.kaggle.com/startupsci/titanic-data-science-solutions --------------------------- ...

随机推荐

  1. python爬虫学习(4) —— 手刃「URP教务系统」

    0. 本爬虫目标 模拟登陆URP教务系统 查询 本学期/历年 成绩 计算历年成绩的绩点 下面是一点废「私」话「货」: 一般情况,查询成绩大家会通过如下方式: 登陆信息门户 -> 转到教学空间 - ...

  2. 【2016-11-6】【坚持学习】【Day21】【主窗口关闭时,同步关闭它的子窗口】

    本来想用委托实现的.但是又觉得没有必要. 方法如下: public MainWindow() { InitializeComponent(); this.Closing += MainWindow_C ...

  3. js事件绑定及深入

    学习要点: 1.传统事件绑定的问题2.W3C事件处理函数3.IE事件处理函数4.事件对象的其他补充 事件绑定分为两种:一种是传统事件绑定(内联模型,脚本模型),一种是现代事件绑定(DOM2级模型).现 ...

  4. POJ3281Dining[最大流]

    Dining Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 16352   Accepted: 7307 Descripti ...

  5. POJ2505 A multiplication game[博弈论]

    A multiplication game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6028   Accepted:  ...

  6. sql 首写字母查询姓名(字段)

    来自网上大神,不知道是谁,挂不上链接 /////////////////////// 1.生成方法函数 create function f_GetPy(@str nvarchar(4000)) ret ...

  7. angular学习笔记(二十九)-$q服务

    angular中的$q是用来处理异步的(主要当然是http交互啦~). $q采用的是promise式的异步编程.什么是promise异步编程呢? 异步编程最重要的核心就是回调,因为有回调函数,所以才构 ...

  8. sublime text nodejs set

    把新建的system清空,输入{ "cmd": ["node", "$file"], "selector": " ...

  9. &#65279; 非法字符 原因 以及解决办法

    模板文件生成html文件之后会在body开头处加入一个可见的控制符 // 如果是Windows系统,修改为:$WIN = 1; $WIN = 0; ?> <!DOCTYPE html P ...

  10. IIS7注册本机模块

    问题描述:打开mp4文件要映射给mod_h264_streaming.dll(http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Intern ...