P2065 贪心的果农

题目描述

果农的花园里种着N棵果树。收获的季节终于来到了,果农决定,在接下来的M天时间里完成自己的收获工作。他的收获方式极其暴力——他将会将某棵果树砍倒来获取上面的果实。然而如此暴力的果农体力也十分有限,他每天最多只能砍一棵果树。已经知道,对于第i棵果树,在第1天的时候上面已经有ai个果实,而接下来每一天(不包括第1天),它都会再长出bi个果实(0<=ai,bi<=104,ai,bi均为整数)。果农只能获得砍下来的果树上的果实,而砍下来的果树将不会再长果实。果农想知道,自己在M天后最多可以收获多少个果实。

输入输出格式

输入格式:

第1行包含两个整数N,M。

第2行N个数,用空格隔开,第i个数表示ai。

第3行N个数,用空格隔开,第i个数表示bi。

输出格式:

一个数,表示最多能获得到的果实。

输入输出样例

输入样例#1:

2 2
8 10
2 3
输出样例#1:

21

说明

数据规模

对于30%的数据,0<M,N<=30;

对于100%的数据,0<M,N<=1000;

数据保证答案小于等于231-1。

分析

dp[i]到第i天的最大收获,如果我们外层循环天数,内层枚举树,取最大值,那么上一天的最大值,可能已经用了第x棵树,当前在枚举x是不合理的,所以要外层循环树,内层循环天,表示这棵树在第几天砍掉。状态转移方程:

           dp[j] = max(dp[j],dp[j-1]+f[i].a+f[i].b*(j-1));

code

 #include<algorithm>
#include<cstdio>
using namespace std; struct MYSTRUCT{
int a,b;
bool operator < (const MYSTRUCT& c) const
{
if (b==c.b) return a < c.a;
return b < c.b;
}
}f[];
int dp[]; int main()
{
int n,m;
scanf("%d%d",&n,&m);
for (int i=; i<=n; ++i) scanf("%d",&f[i].a);
for (int i=; i<=n; ++i) scanf("%d",&f[i].b);
sort(f+,f+n+);
for (int i=; i<=n; ++i)
for (int j=m; j>=; --j)
dp[j] = max(dp[j],dp[j-]+f[i].a+f[i].b*(j-));
printf("%d",dp[m]);
return ;
}

P2065 贪心的果农的更多相关文章

  1. Luogu【P2065】贪心的果农(DP)

    题目链接 几乎所有DP题目前本蒟蒻都没有思路.当然包括但不限于这道题.每次都是看了题解然后打的(等价于抄题解)很羞耻 这道题经思考发现,越靠前砍的果树长果子的能力一定越弱,如果长果子的能力一样弱就先把 ...

  2. 【tyvj】P2065 「Poetize10」封印一击(贪心+线段树/差分)

    http://new.tyvj.cn/p/2065 我就不说我很sb的用线段树来维护值...... 本机自测的时候想了老半天没想出怎么维护点在所有区间被多少区间包含的方法.最后一小时才想出来线段树(果 ...

  3. BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]

    1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1383  Solved: 582[Submit][St ...

  4. HDOJ 1051. Wooden Sticks 贪心 结构体排序

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  5. HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  6. BZOJ 1691: [Usaco2007 Dec]挑剔的美食家 [treap 贪心]

    1691: [Usaco2007 Dec]挑剔的美食家 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 786  Solved: 391[Submit][S ...

  7. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  8. 【BZOJ-4245】OR-XOR 按位贪心

    4245: [ONTAK2015]OR-XOR Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 486  Solved: 266[Submit][Sta ...

  9. code vs 1098 均分纸牌(贪心)

    1098 均分纸牌 2002年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解   题目描述 Description 有 N 堆纸牌 ...

随机推荐

  1. 《Head First 设计模式》之模板方法模式——冲泡咖啡和茶

    模板方法模式(Template) ——在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤. 好莱坞原则:别调用(打电话给 ...

  2. HTML 5 Web 存储提供了几种存储数据的方法

    localstorage存储对象分为两种: 1. sessionStorage: session即会话的意思,在这里的session是指用户浏览某个网站时,从进入网站到关闭网站这个时间段,sessio ...

  3. 360 so动态脱壳

    环境及工具 手机    : 中兴 U887 系统版本:   Android 2.3.5 工具    :   IDA pro 6.6 .0101Editor 版权声明:未经许可,随便转载 目前so加壳有 ...

  4. Android自定义控件练手——简单的时钟

    首先这应该是一个老生常谈的设计了,但是毕竟身为小白的自己都没动手做过,不动手怎么提高自己呢,所以在这梅林沉船闲暇之际,我就把我的设计流程与思路记录下来.首先来看看效果图吧: 如上图就是一个简单并没有美 ...

  5. “ipconfig不是内部命令或外部命令”解决方法

    第一:用鼠标右键单击“计算机”,在弹出的下拉菜单中选择“属性”. 第二:在系统属性中选择“高级系统设置”.在系统属性对话框中找到其上方的“高级”选项卡,里面有一个“环境变量”按钮,点击进入 第三:在下 ...

  6. java Vamei快速教程19 嵌套类

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 到现在为止,我们都是在Java文件中直接定义类.这样的类出现在包(package) ...

  7. javascript:理解DOM事件

    首先,此文不讨论繁琐细节,但是考虑到读者的心灵感受,本着以积极向上的心态,在此还是会列举示例说明. ​标题为理解DOM事件,那么在此拿一个简单的点击事件为例,希望大家看到这个例子后能触类旁通. DOM ...

  8. warning: remote HEAD refers to nonexistent ref, unable to checkout.解决

    git branch -r origin/branch origin/hexo git checkout -b hexo origin/hexo

  9. iOS 7系列译文:认识 TextKit

    OS 7:终于来了,TextKit.   功能   所以咱们到了.iOS7 带着 TextKit 登陆了.咱们看看它可以做什么!深入之前,我还想提一下,严格来说,这些事情中的大部分以前都可以做.如果你 ...

  10. Jmeter后置处理器

    一.什么是关联? 将请求1的输出 作为 请求2 的输入,则称之为关联 例如:“用户登录”请求中服务器返回了token,“查询用户信息”请求需要把token返回给服务器进行验证 二.通过JSON Pat ...