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

重庆市政府渝快办/win10优化工具

重庆市政府渝快办,win10优化工具,上海比较好的网站建设公司,无锡微信网站定制题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分 试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分 输入输出格式 输入格式…

题目描述

在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分

试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分

输入输出格式

输入格式:

数据的第1行试正整数N,1≤N≤100,表示有N堆石子.第2行有N个数,分别表示每堆石子的个数

输出格式:

输出共2行,第1行为最小得分,第2行为最大得分

输入输出样例

输入样例:

4
4 5 9 4

输出样例:

43
54

什么是区间动规

区间动态规划问题一般都是考虑,对于每段区间,他们的最优值都是由几段更小区间的最优值得到,是分治思想的一种应用,将一个区间问题不断划分为更小的区间直至一个元素组成的区间,枚举他们的组合 ,求合并后的最优值

题解

由题意可得这些石子是摆放成一个环,环形不好写状态转移方程,那我们就可以把它拆成一条长度为2*n-1 的链,采用区间动规的办法,合并的石子数用前缀和优化一下就好了

状态转移方程:

f[i][j]表示从第i堆石子到第j堆石子的最大/最小得分,用k(i<=k<=j-1)将区间分成[i,k]和[k+1,j]两个区间

初值:f[i][i]=0

fmax[i][j]=max{fmax[i][j],fmax[i][k]+f[k+1][j]+s[j]-s[i-1]}

fmin[i][j]=min{fmin[i][j],fmin[i][k]+f[k+1][j]+s[j]-s[i-1]}

代码

#include<cstdio>
#include<cstring>
#define MAXN 2*100+5
#define INF 10000000
int fmax[MAXN][MAXN],fmin[MAXN][MAXN],s[MAXN],n,max_ans=-INF,min_ans=INF;
inline int maxx(int x,int y){return x>y?x:y;}
inline int minn(int x,int y){return x<y?x:y;}
void dp()
{
int i,j,k;
for(i=1;i<=2*n-1;++i)
{
for(j=1;j<=2*n-1;++j)
{
fmax[i][j]=-INF;
fmin[i][j]=INF;
}
}
for(i=1;i<=2*n-1;++i)
fmax[i][i]=fmin[i][i]=0;
for(i=2*n-1-1;i>=1;--i)
{
for(j=i+1;j<=2*n-1;++j)
{
for(k=i;k<=j-1;++k)
{
fmax[i][j]=maxx(fmax[i][j],fmax[i][k]+fmax[k+1][j]+s[j]-s[i-1]);
fmin[i][j]=minn(fmin[i][j],fmin[i][k]+fmin[k+1][j]+s[j]-s[i-1]);
}
}
}
}
void get_ans()
{
int i;
for(i=1;i<=n;++i)
{
//寻找长度为n的区间
max_ans=maxx(max_ans,fmax[i][i+n-1]);
min_ans=minn(min_ans,fmin[i][i+n-1]);
}
}
int main()
{
int i,temp;
scanf("%d",&n);
for(i=1;i<=n;++i)
{
scanf("%d",&temp);
s[i]=s[i+n]=temp;
}
for(i=1;i<=2*n-1;++i)
s[i]+=s[i-1];//前缀和优化
dp();
get_ans();
printf("%d\n%d\n",min_ans,max_ans);
return 0;
}
http://www.jmfq.cn/news/4879675.html

相关文章:

  • 凡客网能直接做网站/网站建设及网络推广
  • 桐庐网站建设/营销策划的八个步骤
  • 莆田做网站公司/宣传推广计划
  • 湛江网站建设制作价格/阿里巴巴指数查询
  • 做行程的网站/seo流量优化
  • 安装师傅最好的接单平台/青岛百度推广优化
  • 做网站建设优化的电话话术/制作网站需要的技术与软件
  • 微信开发者模式在哪打开/福州seo推广
  • 学校网站建设主要成绩/企业文化设计
  • 淘宝网中国站电脑版登录/网络推广最好的网站有哪些
  • 深圳建网站多少钱一年/上海seo网站排名优化公司
  • dw做网站怎么设置页面音乐/购物网站页面设计
  • 傻瓜网站建设软件/网站查询是否安全
  • 建筑网论坛/网站推广专家十年乐云seo
  • wordpress zendesk/宁波seo关键词
  • b2b网站大全外贸免费b/图片搜索图片识别
  • 把网站扒下来以后怎么做/网站关键词快速排名服务
  • 建站大师/靠谱的代运营公司
  • 网站建设企业模板下载/百度seo排名优化提高流量
  • 北京做网站建设的公司/网址查询注册信息查询
  • 网站你懂我意思正能量晚上在线观看不用下载免费苹果/99个创意营销方案
  • 网站建设qianhaiyou/深圳创新创业大赛
  • 做机械设备的做哪个网站推广较好/网络营销企业是什么
  • 西双版纳傣族自治州/孝感seo
  • 怀柔网站建设推广/微信指数是搜索量吗
  • 外包网络推广公司推广网站/建站模板网站
  • 文字控图片在线制作/南昌百度seo
  • 滨湖网站建设/百度数据研究中心
  • 衣柜做网站的关键词/网站seo搜索引擎优化教程
  • 狮岭做网站/长尾词挖掘工具爱站网