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

做专业维修网站/产品经理培训哪个机构好

做专业维修网站,产品经理培训哪个机构好,烟台做网站建设,wordpress 统计分析LinkLinkLink ssl1497ssl\ 1497ssl 1497 DescriptionDescriptionDescription KC来到了一个盛产瓷器的国度。他来到了一位商人的店铺。在这个店铺中&#xff0c;KC看到了一个有n(1<n<100)排的柜子&#xff0c;每排都有一些瓷器&#xff0c;每排不超过100个。那些精美的艺…

LinkLinkLink

ssl1497ssl\ 1497ssl 1497

DescriptionDescriptionDescription

KC来到了一个盛产瓷器的国度。他来到了一位商人的店铺。在这个店铺中,KC看到了一个有n(1<=n<=100)排的柜子,每排都有一些瓷器,每排不超过100个。那些精美的艺术品使KC一下心动了,决定从N排的商品中买下m(1<=m<=10000)个瓷器。

这个商人看KC的脸上长满了痘子,就像苔藓一样,跟精美的瓷器相比相差太多,认为这么精致的艺术品被这样的人买走艺术价值会大打折扣。商人感到不爽,于是规定每次取商品只能取其中一排的最左边或者最右边那个,想为难KC。

现在KC又获知每个瓷器的价值(用一个不超过100的正整数表示),他希望取出的m个商品的总价值最大。

InputInputInput

输入文件的第一行包括两个正整数n,m;

接下来2到n+1行,第i行第一个数表示第i排柜子的商品数量Si,接下来Si个数表示从左到右每个商品的价值。

OutputOutputOutput

输出文件只有一个正整数,即m个商品最大的总价值

SampleSampleSample InputInputInput

输入1:
2 3
3 3 7 2
3 4 1 5
输入2:
1 3
4 4 3 1 2

SampleSampleSample OutputOutputOutput

输出1:
15
输出2:
9

HintHintHint

样例解释1:
取第一排的最左边两个和第二排的最右边那个。总价直为3+7+5=15;
对于10%的数据,Si=1,1<=i<=n。
对于另外10%的数据,n=1.

SolutionSolutionSolution

前缀和 + DP
sumi,jsum_{i,j}sumi,j为第i行前j个获得的价值
hi,jh_{i,j}hi,j为第i行取j个获得的最大价值
那么转移就很容易得出:
h[i][j]=max(h[i][j],sum[i][k]+sum[i][c[i]]−sum[i][c[i]−j+k])h[i][j] = max(h[i][j], sum[i][k] + sum[i][c[i]] - sum[i][c[i]-j+k])h[i][j]=max(h[i][j],sum[i][k]+sum[i][c[i]]sum[i][c[i]j+k])
其实就是前缀和和后缀和之类的balabala的组合出来
然后单行的就处理好了
多行的就设一个f[i][j]f[i][j]f[i][j]表示前i行选j个的最大值
f[i][j]=max(f[i][j],f[i−1][j−k]+h[i][k])f[i][j] = max(f[i][j], f[i-1][j - k]+h[i][k])f[i][j]=max(f[i][j],f[i1][jk]+h[i][k])
k表示当前行选k个

CodeCodeCode

#include<iostream>
#include<cstdio>using namespace std;int n, m, s[105];
int sum[105][10005], h[105][10005], f[105][10005];int main()
{scanf("%d%d", &n, &m);for (int i = 1; i <= n; ++i){int x;sum[i][0] = 0;scanf("%d", &s[i]);for (int j = 1; j <= s[i]; ++j)scanf("%d", &x),sum[i][j] = sum[i][j - 1] + x; }for (int i = 1; i <= n; ++i)for (int j = 1; j <= s[i]; ++j)for (int k = 0; k <= j; ++k)h[i][j] = max(h[i][j], sum[i][k] + sum[i][s[i]] - sum[i][s[i] - j + k]);for (int i = 1; i <= n; ++i)for (int j = 1; j <= m; ++j)for (int k = 0; k <= min(j, s[i]); ++k)f[i][j] = max(f[i][j], f[i - 1][j - k] + h[i][k]);printf("%d\n", f[n][m]);return 0;
}
http://www.lbrq.cn/news/930709.html

相关文章:

  • 泉州做网站/百度账号登陆入口
  • 网站制作器软件下载/最新的疫情情况
  • ppt做的模板下载网站有哪些内容/蜜雪冰城推广软文
  • 济南做网站找大标/全网搜索
  • 人力资源网站建设/许昌网络推广公司
  • 二级域名做城市分网站/广东seo推广方案
  • wordpress板块大小/上海百度推广优化排名
  • 有关做美食的网站/湖南长沙关键词推广电话
  • 建设网站的企业有哪些/soso搜搜
  • 网站类产品怎么做竞品分析/优化课程体系
  • 做彩票网站犯法/香港疫情最新情况
  • 做网站要注册商标第几类/搜索引擎优化有哪些要点
  • 电子商务的网站建设要求步骤/app拉新渠道商
  • 电影网站如何建设/百度seo和sem
  • 什么网站有教做衣服视频的/临沂森拓网络科技有限公司
  • 城阳做网站公司/收录优美图片app
  • 培训视频网站/中国十大电商公司排名
  • 东庄水利建设公司网站/网络推广方案
  • 做香港台湾网站流量/谷歌商店安卓版下载
  • 网站开发的报价/百度快速收录3元一条
  • 建设网站 买了域名还要什么/b站推广引流最佳方法
  • 泉州网站建设价格/网络营销专业学什么课程
  • 一屏展示网站/武汉谷歌seo
  • 免费二维码制作/seo是付费还是免费推广
  • 网站的内链建设/域名注册费用
  • 南京500元做网站/如何开展网络营销活动
  • 在线文字图片生成器/百度爱采购优化软件
  • 个人网站建设需要备案吗/成人短期培训能学什么
  • 做网站找谁/刷关键词的平台
  • 小程序企业网站源码/北京seo排名服务
  • DooTask教育行业功能:开启高效学习协作新篇章
  • 电脑没有声音了怎么恢复 快速解决音频故障
  • Mac m系列芯片安装node14版本使用nvm + Rosetta 2
  • 05 OpenCV--图像预处理之图像轮廓、直方图均衡化、模板匹配、霍夫变化、图像亮度变化、形态学变化
  • 数分思维10:用户增长
  • Qt:盒子模型的理解