动态规划:POJ 3616 Milking Time
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cstdlib>
using namespace std; int N, M, R; // N个小时, M个时间间隔, R个休息时间
const int maxn = + ;
struct Cow {
int start;
int end;
int value;
Cow(int s = , int e = , int v = ) : start(s), end(e), value(v) {
}
} cows[maxn + ];
//按开始时间先后排序
inline bool cmp(const Cow& a, const Cow& b) {
return a.start < b.start;
} int dp[maxn + ]; void solve()
{
scanf("%d%d%d", &N, &M, &R);
for (int i = ; i < M; i++) {
scanf("%d%d%d", &cows[i].start, &cows[i].end, &cows[i].value);
cows[i].end += R;
}
sort(cows, cows + M, cmp);
for (int i = ; i < M; i++)
{
dp[i] = cows[i].value;
for (int j = ; j < i; j++) {
//前面事件结束时间,如果比当前的事件的开始时间 早
if (cows[j].end <= cows[i].start) {
//dp[i] = max(当前i事件算得的value, 前j个合理事件+当前事件.value)
dp[i] = max(dp[i], dp[j] + cows[i].value);
}
}
}
//此时已经得到 到第i个事件 计算最大的效率
cout << *max_element(dp, dp + M) << endl;
} int main()
{
solve();
return ;
}
动态规划:POJ 3616 Milking Time的更多相关文章
- POJ 3616 Milking Time(加掩饰的LIS)
传送门: http://poj.org/problem?id=3616 Milking Time Time Limit: 1000MS Memory Limit: 65536K Total Sub ...
- POJ - 3616 Milking Time (动态规划)
Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that sh ...
- POJ 3616 Milking Time (排序+dp)
题目链接:http://poj.org/problem?id=3616 有头牛产奶n小时(n<=1000000),但必须在m个时间段内取奶,给定每个时间段的起始时间和结束时间以及取奶质量 且两次 ...
- poj 3616 Milking Time
Milking ...
- POJ 3616 Milking Time(最大递增子序列变形)
题目链接:http://poj.org/problem?id=3616 题目大意:给你时间N,还有M个区间每个区间a[i]都有开始时间.结束时间.生产效率(时间都不超过N),只能在给出的时间段内生产, ...
- poj 3616 Milking Time (基础dp)
题目链接 http://poj.org/problem?id=3616 题意:在一个农场里,在长度为N个时间可以挤奶,但只能挤M次,且每挤一次就要休息t分钟: 接下来给m组数据表示挤奶的时间与奶量求最 ...
- poj 3616 Milking Time(dp)
Description Bessie ≤ N ≤ ,,) hours (conveniently labeled ..N-) so that she produces as much milk as ...
- POJ 3616 Milking Time 简单DP
题意:奶牛Bessie在0~N时间段产奶.农夫约翰有M个时间段可以挤奶,时间段f,t内Bessie能挤到的牛奶量e.奶牛产奶后需要休息R小时才能继续下一次产奶,求Bessie最大的挤奶量. 详见代码 ...
- POJ 3616 Milking Time (字符串DP)
题意:找元素关于对角线左或右对称的最大矩阵 思路:左右对角线只需要遍历一条就可以了.只要当前点往上遍历和往后遍历一样就可以. #include<iostream> #include< ...
随机推荐
- 【动态规划】POJ-3616
一.题目 Description Bessie is such a hard-working cow. In fact, she is so focused on maximizing her pro ...
- Unity3D游戏开发——编程实现游戏管理器
本篇简介 本篇介绍了如何将上一篇的设计模式思想运用到实际的开发过程中. 脚本文件 (1)IGameManager:这个接口存在声明了一个属性(一个拥有getter函数的变量,属性的类型是Manager ...
- Eclipse+MySQL+Tomcat web开发安装配置
转载文章: 链接:https://blog.csdn.net/bbyyz01/article/details/78142126 1.Eclipse 这里选择Eclipse集成开发环境. 可以直接在官网 ...
- nginx配置hls
备注:本来是想用浏览器播放hls,后来没有成功,最后使用flash播放rtmp的方案.所以下面的配置未使用. 修改/usr/local/nginx/conf/nginx.conf文件内容如下: wor ...
- Head First Java & static
- Mongodb 分片操作实战
由于生产环境中一般使用zoomkeeper做config节点的仲裁节点,zoomkeeper会在三个config节点中挑选出一台作为主config节点.且mongos节点一般是两个节点,必须做高可用, ...
- CXGRID用法(取行、列值;定位选中某行等等)[转]
Delphi Cxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值 cxGrid1DBTableView1.Controller.FocusedRowIndex 当前行号 cxGrid1DB ...
- js异步上传图片
<!DOCTYPE html><html xmlns = "http://www.w3.org/1999/xhtml" ><head><m ...
- ci钩子
钩子 - 扩展框架核心 CodeIgniter 的钩子特性提供了一种方法来修改框架的内部运作流程,而无需修改 核心文件.CodeIgniter 的运行遵循着一个特定的流程,你可以参考这个页面的 应用程 ...
- [转贴]systemd 编写服务管理脚本
[转贴]sparkdev大神的博客, 关于 systemd的配置文件的 介绍, 自己之前二进制安装 k8s 时 超过一个 service文件 但是当时不明不白的. 现在再学习一下大神的文章 的确牛B ...