https://vjudge.net/problem/POJ-3616

猛刷简单dp的第一天第二题。

这道题乍一看跟背包很像,不同的在于它是一个区间,背包是定点,试了很久想往背包上套,都没成功。

这题的思路感觉有点陌生,又有点类似于求最长不降子序列的题。

dp[i]为到第i个区间为止(该区间肯定有i)的最大挤奶量,最后从m个里面取最大。

 #include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<stack>
#define lson l, m, rt<<1
#define rson m+1, r, rt<<1|1
#define INF 0x3f3f3f3f
typedef unsigned long long ll;
using namespace std;
struct Node{
int from, to, w;
}node[];
int dp[];
bool cmp(const Node a, const Node b)
{
return a.to < b.to;
}
int main()
{
int n, m, r;
cin >> n >> m >> r;
for(int i = ; i < m; i++){
cin >> node[i].from >> node[i].to >> node[i].w;
}
memset(dp, , sizeof(dp));
sort(node, node+m, cmp);//按结束时间升序
for(int i = ; i < m; i++){
dp[i] = node[i].w;
for(int j = ; j < i; j++){
if(node[i].from >= node[j].to+r){
dp[i] = max(dp[i], dp[j]+node[i].w);//人人为我
}
}
}
int maxm = -INF;
for(int i = ; i < m; i++){
maxm = max(maxm, dp[i]);
}
cout << maxm << endl;
return ;
}

poj3616 Milking Time(状态转移方程,类似LIS)的更多相关文章

  1. 动态规划 POJ3616 Milking Time

    #include <iostream> #include <cstdio> #include <algorithm> using namespace std; st ...

  2. hdu 动态规划(46道题目)倾情奉献~ 【只提供思路与状态转移方程】(转)

    HDU 动态规划(46道题目)倾情奉献~ [只提供思路与状态转移方程] Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955      背包 ...

  3. 【转载】 HDU 动态规划46题【只提供思路与状态转移方程】

    1.Robberies 连接 :http://acm.hdu.edu.cn/showproblem.php?pid=2955      背包;第一次做的时候把概率当做背包(放大100000倍化为整数) ...

  4. Mark一下, dp状态转移方程写对,可是写代码都错,poj 1651 poj 1179

    dp题: 1.写状态转移方程; 2.考虑初始化边界,有意义的赋定值.还没计算的赋边界值: 3.怎么写代码自底向上计算最优值 今天做了几个基础dp,所有是dp方程写对可是初始化以及计算写错 先是poj ...

  5. 简单dp的状态转移方程集合

    1.对于任一种N的排列A,定义它的E值为序列中满足A[i]>i的数的个数.给定N和K(K<=N<=1000),问N的排列中E值为K的个数. dp[i][j]表示i个数的排列中E值为j ...

  6. POJ3616 Milking Time —— DP

    题目链接:http://poj.org/problem?id=3616 Milking Time Time Limit: 1000MS   Memory Limit: 65536K Total Sub ...

  7. poj2385 Apple Catching(dp状态转移方程推导)

    https://vjudge.net/problem/POJ-2385 猛刷简单dp的第一天的第一题. 状态:dp[i][j]表示第i秒移动j次所得的最大苹果数.关键要想到移动j次,根据j的奇偶判断人 ...

  8. POJ3616 Milking Time【dp】

    Description Bessie is such a hard-working cow. In fact, she is so focused on maximizing her producti ...

  9. poj-3616 Milking Time (区间dp)

    http://poj.org/problem?id=3616 bessie是一头工作很努力的奶牛,她很关心自己的产奶量,所以在她安排接下来的n个小时以尽可能提高自己的产奶量. 现在有m个产奶时间,每个 ...

随机推荐

  1. Redis的消息通知

    Redis的消息通知可以使用List类型的LPUSH和RPOP(左进右出),当然更方便的是直接使用Redis的Pub/Sub(发布/订阅)模式. 1.使用List实现队列 使用列表类型的LPUSH和R ...

  2. [转]scp、sftp命令使用

    http://wangxuedong.com/index.php/archives/182/ 前言 有时候想上传文件到服务器或者从服务器下载一个文件到本地,但是服务器还没有配置ftp等环境,这时候可以 ...

  3. C# 之 下载EXCEL文件,自动用迅雷下载aspx

    在浏览器中导出 Excel 得时候,如果浏览器绑定了迅雷,则会下载aspx文件. 解决:下载EXCEL文件,自动用迅雷下载aspx if (Request.QueryString["id&q ...

  4. 关于mac远程链接window服务器以及实现共享文件

    要最近换了新电脑mac 虽然运行速度666  但是真的很多地方都使用不习惯 这里记录一下 关于 远程链接window主机的问题 方便以后用 首先是 链接: 在应用里 找到    然后类似于  wind ...

  5. jenkins+ant配置自动化任务全过程

      UI自动化测试(17)  版权声明:本文为博主原创文章,未经博主允许不得转载. 1.首先,你需要写UI自动化测试,本地运行无误 2.利用ant将刚写好的程序运行起来,在Eclipse里边只需要ec ...

  6. jquery的div局部刷新

    jquery的div局部刷新 //div的局部刷新 $(".dl").load(location.href+" .dl"); 全页面的刷新方法 window.l ...

  7. UOJ#62. 【UR #5】怎样跑得更快 数论 莫比乌斯反演

    原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ62.html 题解 太久没更博客了,该拯救我的博客了. $$\sum_{1\leq j \leq n} \ ...

  8. eclipse中设置自动生成的author,date等注释

    转自:http://blog.csdn.net/zhouhong1026/article/details/38396311 转自:http://hi.baidu.com/qianjian21/blog ...

  9. 061 SparkStream数据接收原理

    1.宏观 2.看英文解释过程 ------------------------------------------------------------------------------------- ...

  10. Spring-1-(简介及HelloWord)

    一:Spring简介 Spring 框架宗旨:不重新发明技术,让原有技术使用起来更加方便. Spring核心功能: 1.AOP:面向切面编程 2.Ioc/Di:控制反转/依赖注入 3.声明式事务 Sp ...