题目描述

话说发源于小朋友精心设计的游戏被电脑组的童鞋们藐杀之后非常不爽,为了表示安慰和鼓励,VIP999决定请他吃一次“年年大丰收”,为了表示诚意,他还决定亲自去钓鱼,但是,因为还要准备2013NOIP,z老师只给了他H(1<=H<=16)个小时的空余时间,假设有N(2<=n<=25)个鱼塘都在一条水平路边,从左边到右编号为1、2、3、。。。、n)。VIP是个很讲究效率的孩子,他希望用这些时间钓到尽量多的鱼。他从湖1出发,向右走,有选择的在一些湖边停留一定的时间钓鱼,最后在某一个湖边结束钓鱼。他测出从第I个湖到I+1个湖需要走5*ti分钟的路,还测出在第I个湖边停留,第一个5分钟可以钓到鱼fi,以后再每钓5分钟鱼,鱼量减少di。为了简化问题,他假定没有其他人钓鱼,也不会有其他因素影响他钓到期望数量的鱼。请编程求出能钓最多鱼的数量。

输入输出格式

输入格式:

第一行:湖的数量n。

第二行:时间h(小时)。

第三行:n个数,f1,f2,…fn。

第四行:n个数,d1,d2,….dn。

第五行:n-1个数,t1,t2,….tn-1

输出格式:

一个数,所能钓鱼的最大数量。

输入输出样例

输入样例#1:

2
1
10 1
2 5
2
输出样例#1:

31

Solution:

  本题可以贪心,这里我用的是$DP$。

  设$DP[i][j]$表示在第$i$个鱼池耗费了$j$的时间能获得的最多鱼的个数。

  当在$i$鱼池耗费$k$个单位$5$的时间,能捕捉到的鱼个数为:

  $\sum (f[i]-(k-1)*d[i])=\sum f[i]-\sum (k-1)*d[i]$,其中$\sum (k-1)*d[i]$由等差数列求和得$\frac{k*(k-1)*d[i]}{2}$

  则容易得到状态转移方程:

  $DP[i][j]=max(DP[i][j],DP[i-1][j-k-t[i-1]+\frac{f[i]*k-k*(k-1)*d[i]}{2})$

  注意:

  1、每次从第$i-1$鱼池,到第$i$鱼池需要$t[i-1]$的时间,所以枚举$k$时不能超过$j-t[i-1]$。

  2、初始化$DP$数组为负值(我用的是$-1$),每次更新$DP[i][j]$必须满足$DP[i-1][j-t[i]-k]!=-1$,意思是必须满足从第$i-1$鱼池花这么多时间被更新过,否则就意味着不能到达第$i$鱼池,然后要满足$d[i]*(k-1)\leq f[i]$意味着最多减少到为$0$就不能在钓了。

代码:

#include<bits/stdc++.h>
#define il inline
#define ll long long
using namespace std;
int n,m,ans,f[],d[],t[],dp[][];
int main()
{
ios::sync_with_stdio();
cin>>n>>m;
m*=;
memset(dp,-,sizeof(dp));
dp[][]=;
for(int i=;i<=n;i++)cin>>f[i];
for(int i=;i<=n;i++)cin>>d[i];
for(int i=;i<n;i++)cin>>t[i];
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
for(int k=;k<=j-t[i-];k++)
if((k-)*d[i]<f[i]&&dp[i-][j-t[i-]-k]!=-)
dp[i][j]=max(dp[i][j],dp[i-][j-k-t[i-]]+f[i]*k-(k-)*d[i]*k/),ans=max(ans,dp[i][j]);
cout<<ans;
return ;
}

P1717 钓鱼的更多相关文章

  1. 洛谷P1717 钓鱼

    P1717 钓鱼 41通过 116提交 题目提供者该用户不存在 标签贪心 难度提高+/省选- 提交该题 讨论 题解 记录 最新讨论 暂时没有讨论 题目描述 话说发源于小朋友精心设计的游戏被电脑组的童鞋 ...

  2. loj10009 P1717 钓鱼

    P1717 钓鱼 贪心+优先队列 先枚举最后走到哪个湖,然后用优先队列跑一遍贪心即可 #include<iostream> #include<cstdio> #include& ...

  3. P1717 钓鱼 洛谷

    https://www.luogu.org/problem/show?pid=1717 题目描述 话说发源于小朋友精心设计的游戏被电脑组的童鞋们藐杀之后非常不爽,为了表示安慰和鼓励,VIP999决定请 ...

  4. 洛谷 P1717 钓鱼

    题目描述 话说发源于小朋友精心设计的游戏被电脑组的童鞋们藐杀之后非常不爽,为了表示安慰和鼓励,VIP999决定请他吃一次“年年大丰收”,为了表示诚意,他还决定亲自去钓鱼,但是,因为还要准备2013NO ...

  5. 洛谷 P1717 钓鱼 题解

    每日一题 day46 打卡 Analysis 首先通过题目我们不难发现,为了得到最优解,那么就不能把时间浪费在路上,也就是说不能走回头路.然后很容易可以发现,在每个时刻在不同的鱼塘钓到的鱼的数量是不同 ...

  6. 题解 P1717 【钓鱼】

    P1717 钓鱼 贪心+堆的方法其他题解已经讲的很清楚了,这里放出萌新简洁的dp做法,如果有正确性问题希望大佬能够指出qwq #include<cstdio> using namespac ...

  7. 钓鱼 洛谷p1717

    题目描述 话说发源于小朋友精心设计的游戏被电脑组的童鞋们藐杀之后非常不爽,为了表示安慰和鼓励,VIP999决定请他吃一次“年年大丰收”,为了表示诚意,他还决定亲自去钓鱼,但是,因为还要准备2013NO ...

  8. 钓鱼(洛谷 P1717)

    题目描述 话说发源于小朋友精心设计的游戏被电脑组的童鞋们藐杀之后非常不爽,为了表示安慰和鼓励,VIP999决定请他吃一次“年年大丰收”,为了表示诚意,他还决定亲自去钓鱼,但是,因为还要准备2013NO ...

  9. 【洛谷P1717】钓鱼

    题目大意:给定 N 个位置,每个位置有一个答案贡献值,在一个位置加了一次该位置的答案贡献值之后,该值会减掉一部分,从一个位置移动到另一个位置需要花费一定的时间,问:给定 M 单位的时间,如何移动使得答 ...

随机推荐

  1. filter-policy和AS-PATH-FILTER过滤BGP路由条目

    Filter-policy过滤BGP路由条目 一:根据项目需求搭建好拓扑图如下: 二:配置 1:对项目图做理论分析,首先RT1和RT2属于EBGP(不同自治系统之间的直连路由),而RT2和RT3属于I ...

  2. PHP解决跨域问题

    在做项目的过程中经常需要跨域访问.这里主要介绍一下 PHP 中怎么解决跨域问题. 1.允许所有域名访问 header('Access-Control-Allow-Origin: *'); 2.允许单个 ...

  3. Python起源与发展

    Python的创始人为吉多*范罗苏姆(Gudio van Rossum) 1.1989年的圣诞节期间,吉多*范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的解释程序,作为ABC语言的一种继承. 2. ...

  4. 网站apache环境S2-057漏洞 利用POC 远程执行命令漏洞复现

    S2-057漏洞,于2018年8月22日被曝出,该Struts2 057漏洞存在远程执行系统的命令,尤其使用linux系统,apache环境,影响范围较大,危害性较高,如果被攻击者利用直接提权到服务器 ...

  5. UVA - 1606 Amphiphilic Carbon Molecules 极角扫描法

    题目:点击查看题目 思路:这道题的解决思路是极角扫描法.极角扫描法的思想主要是先选择一个点作为基准点,然后求出各点对于该点的相对坐标,同时求出该坐标系下的极角,按照极角对点进行排序.然后选取点与基准点 ...

  6. IDEA Java Web(Spring)项目从创建到打包(war)

    创建Maven管理的Java Web应用 创建新项目,"create new project",左侧类型选择"maven",右侧上方选择自己的SDK,点击&qu ...

  7. JSON初体验(一):JsonObject解析

    在学校的呆了一段时间,马上又要回去工作了,不说了,我现在介绍一下json相关的内容 1.JSON数据格式(总的来说,json就是一个字符串) 1.整体结构 String json1 = "{ ...

  8. HBase java API 的使用范例(增,删,查,扫描)

    编辑pom.xml <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase ...

  9. js 实现字符串转日期进行比较大小

    代码如下 var a = '2016-01-01 12:12:12'; var b = '2016-01-01 12:12:13'; var al = new Date(a).getTime(); v ...

  10. 签名的html

    <b><a href="http://www.feiyuanxing.com" style="color:red">未来星开发团队--狒 ...