POJ 3616 Milking Time 动态规划
来源:互联网 发布:手机编程 输入法 编辑:程序博客网 时间:2024/05/17 07:07
dp[i]表示从第i个区间开始,能挤的最多的牛奶
动态转移方程为:
dp[i] = max(dp[i + 1], dp[j] + w[i]);
w[i]表示第i个区间能挤的牛奶
#include <map>#include <cmath>#include <queue>#include <cstdio>#include <vector>#include <cstring>#include <cstdlib>#include <iostream>#include <algorithm>#define MAX_N 1005#define mod 1000000000using namespace std;struct data{ int s, t, e; bool operator < (const data& b) const { return s < b.s; }};int main(){ //freopen("in.txt", "r", stdin); int N, M, R; data dat[MAX_N]; int dp[MAX_N]; scanf("%d%d%d", &N, &M, &R); for (int i = 0; i < M; i++) scanf("%d%d%d", &dat[i].s, &dat[i].t, &dat[i].e); sort(dat, dat + M); for (int i = M - 1; i >= 0; i--) { int j; for (j = i; j < M; j++)//可以用二分优化 if (dat[j].s >= dat[i].t + R) break; if (j == M) dp[i] = max(dp[i + 1], dat[i].e); else dp[i] = max(dp[i + 1], dp[j] + dat[i].e); } printf("%d\n", dp[0]); return 0;}
0 0
- POJ 3616 Milking Time 动态规划
- poj 3616 Milking Time 动态规划
- POJ 3616 Milking Time 动态规划
- POJ 3616 Milking Time 动态规划法题解
- 动态规划训练22 [Milking Time POJ
- POJ3616 Milking Time 动态规划
- poj3616 Milking Time(动态规划)
- poj 3616 Milking Time ---DP(带权重的区间动态规划)
- poj 3616 Milking Time
- POJ 3616 Milking Time
- POJ-3616-Milking Time
- poj 3616 Milking Time
- POJ 3616 Milking Time
- poj 3616 Milking Time
- Milking Time.(POJ-3616)
- POJ 3616 Milking Time
- POJ 3616 Milking Time
- POJ 3616 Milking Time
- 221. Maximal Square
- anydesk 各个系统下载软件
- 二进制枚举例1(位运算)
- SciPy-数值计算库
- Android实现按钮点击效果(第一次点击变色,第二次恢复)
- POJ 3616 Milking Time 动态规划
- 蓝桥杯 国王的烦恼(排序+并查集)
- 最短路径和最小生成树算法
- SymPy-符号运算好帮手
- Linux下搭建MySQL多实例环境
- WEUI的tabbar注意事项
- FFmpeg之Android移植错误合集
- Android应用热修复
- java.lang.IllegalStateException: Fragment already added异常的处理