P1717 钓鱼
多重背包-完全背包
其实因为在每一个地方都可以钓无限久的鱼,所以是完全背包
而又因为钓久了,鱼的数量就变成了负数了,所以又得当成多重背包做QAQ

跟多重背包不同的,这题每个池塘只能选一种钓鱼的时间长度,并不需要多重背包
只需要做01背包,并再加一层循环枚举钓鱼的时间

设状态f[i][j]f[i][j]f[i][j]表示前iii个池塘,时限为jjj,最多可以钓到多少鱼

转移是,考虑该池塘钓不钓鱼
不钓鱼:f[i][j]=f[i−1][j−dis[i−1]]f[i][j]=f[i-1][j-dis[i-1]]f[i][j]=f[i−1][j−dis[i−1]]
钓鱼:枚举钓鱼的时间kkk ,并用变量tmptmptmp记录鱼少了多少f[i][j]=max(f[i][j],(f[i−1][j−dis[i−1]−k]+a[i]∗(k/5)−tmp))f[i][j]=max(f[i][j],(f[i-1][j-dis[i-1]-k]+a[i]*(k/5)-tmp))f[i][j]=max(f[i][j],(f[i−1][j−dis[i−1]−k]+a[i]∗(k/5)−tmp))

#include<cstdio>
#include<iostream>
using namespace std;
const int Maxn=40,Maxm=1020,inf=0x3f3f3f3f;
int a[Maxn],d[Maxn],dis[Maxn],f[Maxn][Maxm];
int n,m,ans;
inline int read()
{int s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0' && ch<='9')s=(s<<3)+(s<<1)+(ch^48),ch=getchar();return s*w;
}
int main()
{//freopen("in.txt","r",stdin);n=read(),m=read()*60;for(int i=1;i<=n;++i)a[i]=read();for(int i=1;i<=n;++i)d[i]=read();for(int i=1;i<n;++i)dis[i]=read()*5;for(int i=1;i<=n;++i)for(int j=0;j<=m;++j)f[i][j]=-inf;f[1][0]=0;for(int i=1;i<=n;++i){for(int j=m;j>=dis[i-1];--j){f[i][j]=f[i-1][j-dis[i-1]];int tmp=0;for(int k=5;k<=j;k+=5){if(j-dis[i-1]-k<0)break;f[i][j]=max(f[i][j],(f[i-1][j-dis[i-1]-k]+a[i]*(k/5)-tmp));tmp+=(k/5)*d[i];}}}for(int i=1;i<=n;++i)for(int j=0;j<=m;++j)ans=max(ans,f[i][j]);printf("%d\n",ans);return 0;
}

P1717 钓鱼 题解相关推荐

  1. P1717 钓鱼 洛谷

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

  2. 2018-2019 ACM—ICPC SEERC 题解

    2018 - 2019 SEERC 题解 比赛发出来太新了,网上根本就搜不到题解,补题补的太难受了. 在这里分享一篇我自己写的题解,也方便别人补题. 题目链接 http://codeforces.co ...

  3. 2019CCPC网络赛部分题解

    这场锅最大的应该是我吧...一个半小时的时候我已经写完了08的正解,然而突发奇想也没造数据就把自己叉了,然后带着学弟想了俩小时这道傻逼题... 三道签到题我都没看题,学弟一个人写的:wtw不在学校,抽 ...

  4. 2021CCPC上海省赛题解ABCDEGHIJK

    2021CCPC上海省赛题解ABCDEGHIJK A. 小 A 的点面论 题意 给定两相异的非零向量(x1,y1,z1),(x2,y2,z2)(0≤xi,yi,zi≤10)(x_1,y_1,z_1), ...

  5. 【NOIP2011模拟11.1】钓鱼

    [NOIP2011模拟11.1]钓鱼 Description 我们把钓鱼的过程放在坐标系里来考虑.图中蓝色的点为船,初始时它的坐标记为(Ax,y).河深为y,河宽为x.某个时刻会从左边界或右边界游出来 ...

  6. CF597 (Div. 2)题解

    A.乱搞gcd B.模拟题 C. 原始串中'w'字符会被替换成 uu 'm'字符会被替换成nn, 给你一个字符串,问你他原串有多少种可能 nnn -> nnn nm mn 3种 nnnn -&g ...

  7. POJ1042 John钓鱼 C语言代码

    POJ1042 题目不再描述了,上面是网址超链接. 个人遭遇···: 简而言之,读了N遍题.脑子里想了半天(time>=1.5h),出现了无数想法,考虑了很多情况,仍然找不到切入点.于是,我就是 ...

  8. LOJ 一本通一句话题解系列:

    第一部分 基础算法 第 1 章 贪心算法 1):「一本通 1.1 例 1」活动安排:按照结束时间排序,然后扫一遍就可以了. 2):「一本通 1.1 例 2」种树:首先要尽量的往区间重叠的部分种树,先按 ...

  9. 林湾村男子铁路技术职业学院2022年5月ACM校赛初赛题解

    传送门:SWJTUOJ A题 Bob每次最多走一格,最多走300步,而起始位置在0~300之间,所以最多也就走到600这样子,那么只需要记录最低600位就可以了. 每次乘的时候,时间复杂度为: 其中n ...

最新文章

  1. 面试官:群聊消息的已读未读功能,你来设计一个?
  2. HttpURLConnection 请求
  3. ORACLE 12C安装
  4. powerdesigner生成数据库文档
  5. 四则运算第三次冲刺(项目完成)
  6. javascript 自动填写表单
  7. 计算Gaunt积分m1m2≥0
  8. 字符串在内存中的存储——C语言进阶
  9. clion修改选中行的背景颜色
  10. antd vue表单上传文件_vue+axios+antD的上传图片踩坑
  11. 使用git了解代码编写过程
  12. hash表、java中的hashMap/hashSet
  13. python库怎么绘画_[雪峰磁针石博客]python绘图作业:使用pygame库画房子
  14. html 的css骚操作,意想不到的 CSS 伪元素 before/after 各种骚操作 - 文章教程
  15. 二维dtw算法matlab实现,下载的用MATLAB实现的DTW算法,不会用,跪求大神帮忙
  16. 大学心理学课本_大学心理学的教材依次(全部)都有哪些?
  17. Vue-生命周期(函数)
  18. MogileFS部署流程
  19. 剪辑视频怎么赚钱怎么做?一个人0资金怎么创业?
  20. 2017远景能源Java面试

热门文章

  1. win10+1080Ti+双硬盘(SSD+HDD)下安装Ubuntu16.04双系统
  2. 解决wps writer未响应无法打印,一点打印就无响应死机,PDF用网页打开打印也会死机的问题
  3. python程序员能做什么副业好_聊一聊程序猿该如何做副业
  4. 【jQuery】动效
  5. 用python turtle画小黄人源码_Python turtle模块小黄人程序
  6. 爬取集思录可转债成交额
  7. Android 性能监测工具,优化内存、卡顿、耗电、APK的方法
  8. 【邮箱问题】无法登录邮箱、需要绑定手机(解决方法)
  9. 企业spark案例 —— 出租车轨迹分析(2)
  10. 【解决】from win32com.shell import shellcon, shell ImportError: DLL load failed: 找不到指定的程序。