博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ3616
阅读量:5102 次
发布时间:2019-06-13

本文共 941 字,大约阅读时间需要 3 分钟。

View Code
1 #include
2 #include
3 #include
4 using namespace std; 5 struct node{ 6 int l,r,val; 7 }aa[1001]; 8 int cmp( const void *a , const void *b ) 9 { 10 node *c = (node *)a; 11 node *d = (node *)b; 12 if(c->l != d->l) return c->l - d->l; 13 else return c->r - d->r; 14 }15 int dp[1001];16 int main(){17 int n,m,r,ans,i,a,b,c,j;18 scanf("%d%d%d",&n,&m,&r);19 for(i=0;i
=aa[j].r)31 dp[i]=max(dp[i],dp[j]+aa[i].val);32 }33 ans=max(ans,dp[i]);34 }35 ans=max(ans,dp[0]);36 printf("%d\n",ans);37 return 0;38 }

这道题的思想就是DP;

首先,排序,然后,dp[i]代表的是在0到 i 段时间段之间所能得到的最多的牛奶质量。

所以,当第一层循环到 i 时,aa[i] 如果取则 dp[i]=dp[j]+aa[i].val;(注意此时,dp[i]!=dp[i-1]+aa[i].val,因为有时间段的原因,可能 dp[i-1] 更本就不符合条件)

如果不取,则 dp[i]=dp[i];

转载于:https://www.cnblogs.com/xxx0624/archive/2012/10/13/2722739.html

你可能感兴趣的文章
Authentication for the REST APIs
查看>>
爬虫学习笔记(一)初识爬虫
查看>>
javascrip之prototype
查看>>
RecycleView
查看>>
Web Service初探
查看>>
HTML中的行内元素和框元素详解
查看>>
如何获取手机号码?
查看>>
设计模式概述
查看>>
【刘润五分钟商学院】-151幸存者偏见
查看>>
瑜伽扭身祈祷式动作教程
查看>>
vs2008 jquery 智能提示
查看>>
复习URLHttpConnection方式GET,POST方式链接网络解析uri
查看>>
asp.net Dock布局开发设置
查看>>
程序员谨防加班猝死之十大建议(转)
查看>>
memcached全面剖析–5. memcached的应用和兼容程序(转)
查看>>
angularJS学习
查看>>
关于ASBox
查看>>
使用Fastjson解析List对象时出现:{"$ref":"$.data[0].task.OBJECTS[0]"}的问题原因及解决方法...
查看>>
BZOJ 2882 & 后缀数组的傻逼实现
查看>>
java第一天练习
查看>>