当前位置: 首页 > news >正文

哪个网站可以自己做行程建站流程新手搭建网站第一步

哪个网站可以自己做行程,建站流程新手搭建网站第一步,flashfxp 发布网站,网站建设和管理心得拼题 A 的教超搞打卡活动,指定了 N 张打卡卷,第 i 张打卡卷需要 mi​ 分钟做完,完成后可获得 ci​ 枚奖励的金币。活动规定每张打卡卷最多只能做一次,并且不允许提前交卷。活动总时长为 M 分钟。请你算出最多可以赢得多少枚金币&a…

拼题 A 的教超搞打卡活动,指定了 N 张打卡卷,第 i 张打卡卷需要 mi​ 分钟做完,完成后可获得 ci​ 枚奖励的金币。活动规定每张打卡卷最多只能做一次,并且不允许提前交卷。活动总时长为 M 分钟。请你算出最多可以赢得多少枚金币?

输入格式:

输入首先在第一行中给出两个正整数 N(≤103) 和 M(≤365×24×60),分别对应打卡卷的数量和以“分钟”为单位的活动总时长(不超过一年)。随后一行给出 N 张打卡卷要花费的时间 mi​(≤600),最后一行给出 N 张打卡卷对应的奖励金币数量 ci​(≤30)。上述均为正整数,一行内的数字以空格分隔。

输出格式:

在一行中输出最多可以赢得的金币数量。

输入样例:

5 110
70 10 20 50 60
28 1 6 18 22

输出样例:

40

样例解释:

选择最后两张卷子,可以在 50+60=110 分钟内获得 18+22=40 枚金币。

做法

01背包问题。

dp数组第一维是考虑了前i个卷子,第二维是花费的时间。

#include<bits/stdc++.h>
using namespace std;
int n,m;
int ans=-0x3f3f3f3f;
int a[1010],b[1010];
int dp[1010][600000];
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) scanf("%d",&a[i]);for(int i=1;i<=n;i++) scanf("%d",&b[i]);memset(dp,-0x3f,sizeof(dp));dp[0][0]=0;for(int i=1;i<=n;i++){//考虑前i个 for(int j=0;j<=m;j++){if(j>=a[i])  dp[i][j]=max(dp[i][j],dp[i-1][j-a[i]]+b[i]);dp[i][j]=max(dp[i][j],dp[i-1][j]);//别忘了更新当前的 }}for(int i=0;i<=m;i++) ans=max(ans,dp[n][i]);cout<<ans;
}

但是吧,dp数组超空间了,得改成1维数组。

#include<bits/stdc++.h>
using namespace std;
int n,m;
int ans=-0x3f3f3f3f;
int a[1010],b[1010];
int dp[600000];
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) scanf("%d",&a[i]);for(int i=1;i<=n;i++) scanf("%d",&b[i]);memset(dp,-0x3f,sizeof(dp));dp[0]=0;for(int i=1;i<=n;i++){for(int j=m;j>=0;j--){//倒序 if(j>=a[i])  dp[j]=max(dp[j],dp[j-a[i]]+b[i]);}}for(int i=0;i<=m;i++) ans=max(ans,dp[i]);cout<<ans;
}

这么交上去结果运行超时了,有几个的过不去。为什么呢,因为我们的m太大了。那我们就把dp数组的下标表示为金币,而不是时间。注意dp数组初始化的值

#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[1010],b[1010];
int dp[30010];
int mv;
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) scanf("%d",&a[i]);for(int i=1;i<=n;i++) scanf("%d",&b[i]),mv+=b[i];memset(dp,0x3f,sizeof(dp));//初始化的值不同dp[0]=0;for(int i=1;i<=n;i++){for(int j=mv;j>=0;j--){if(j>=b[i]) dp[j]=min(dp[j],dp[j-b[i]]+a[i]);//取最小值,因为取得相同金币,时间越少越好}}for(int j=mv;j>=0;j--){if(dp[j]<=m){cout<<j;return 0;}}
}

http://www.15wanjia.com/news/11926.html

相关文章:

  • 网站内容关键词香港域名注册网站
  • 网站后台模板免费下载今日国内新闻头条新闻
  • 浙江省城乡住房建设厅网站今天刚刚发生的新闻台湾新闻
  • 吴中区做网站seo和sem的概念
  • 政府网站什么时候建设的百度软件优化排名
  • 通过php获取手机网站访客的手机号码新东方厨师学费价目表
  • 做网站需要拉多大的宽带chrome网页版入口
  • 网站站外推广方法建立网站的基本流程
  • 网站域名到期登不上是怎么回事关键词推广计划
  • 廊坊公司做网站百姓网
  • 网站找百度做可以嘛搜索引擎有哪些
  • 中小学生做试卷的网站网络营销心得体会300字
  • 网站建设报价方案西安网站制作费用
  • 如何将自己做的网站传到网上开封seo公司
  • 网站建设对企业的好处有哪些第一站长网
  • 网站负责人 备案专业网站推广引流
  • 自己可以给公司做网站吗百度广告联盟下载
  • 网站设计网络公司有品质的网站推广公司
  • 1688网站怎么做宁德市疫情
  • 威县企业做网站整合营销传播的明显特征是
  • 网站关键词几个好seo搜索引擎优化是什么意思
  • 怎么用wordpress建站优化网站快速排名软件
  • wordpress imagemagick漏洞seo云优化软件破解版
  • 做网站费用 优帮云百度网页网址
  • wordpress改成中文镇江seo公司
  • asp.net 企业官网网站 源码 多风格 多模板 多皮肤阿里巴巴国际站
  • 公司logo 标志 图案南宁网站seo
  • 做网站费用 会计分录培训心得体会感悟
  • 网站推广的途径个人接app推广单去哪里接
  • 网站首页滚动大图怎么做天津seo顾问