POJ 3616
来源:互联网 发布:pdf.js获取pdf高度 编辑:程序博客网 时间:2024/05/22 04:36
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int n,m,r;typedef struct name{ int sta,en,eff;}milk;milk a[1005];int dp[1005];bool cmp(milk a,milk b){ if(a.sta<b.sta) return 1; else if(a.sta==b.sta&&a.en<b.en) return 1; else if(a.sta=b.sta&&a.en==b.en&&a.eff<=b.eff) return 1; return 0;}int main(){ while(scanf("%d%d%d",&n,&m,&r)!=EOF) { for(int i=0;i<m;i++) { scanf("%d%d%d",&a[i].sta,&a[i].en,&a[i].eff); } sort(a,a+m,cmp); for(int i=0;i<m;i++) dp[i]=a[i].eff; int num; for(int i=0;i<m;i++) { for(int j=0;j<=i;j++) { if(a[i].sta>=a[j].en+r) { dp[i]=max(dp[i],dp[j]+a[i].eff); } } num=max(num,dp[i]); } printf("%d\n",num); } return 0;}
这种问题的话,其实还是很看重感觉的,做多了的话,可以马上想到这是一个队时间的分段的处理,然后就是两个for循环了,然后把状态转移方程给写正确就可以AC,
这种有选择性的取某几段的和,就是利用for来和max来实现求最大。
0 0
- poj 3616
- poj 3616
- poj----3616
- poj 3616
- poj 3616
- POJ 3616
- POJ 3616
- poj 3616 Milking Time
- Poj 3616 (dp)
- POJ 3616 DP
- POJ 3616 Milking Time
- POJ-3616-Milking Time
- DP 之 poj 3616
- poj 3616 Milking Time
- POJ 3616 Milking Time
- poj 3616 Milking Time
- Milking Time.(POJ-3616)
- poj 3616 (DP)
- iOS中 按钮和标题完美各种排列/完美教程 韩俊强的博客
- 抽象类
- java集合-EnumMap与EnumSet
- poj2083
- 1001: Gingers and Mints
- POJ 3616
- Java 小白编程遇到的问题
- 二叉树的删除
- 算法动态规划问题之矩阵连乘
- 商品搜索引擎---分词(插件介绍与入门实例)
- LeetCode[Array]----3Sum
- hrbust2291
- nyoj 68三点顺序(矢量叉积)
- 腾讯前端实习生(一面)