石子划分实验动态规划算法设计C.doc

上传人:wux****ua 文档编号:8800048 上传时间:2020-04-01 格式:DOC 页数:3 大小:102.50KB
返回 下载 相关 举报
石子划分实验动态规划算法设计C.doc_第1页
第1页 / 共3页
石子划分实验动态规划算法设计C.doc_第2页
第2页 / 共3页
石子划分实验动态规划算法设计C.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述
描述 给定n 个石子,其重量分别为a1, a2, a3, an,要求将其划分成m 份,每一份的划分费用定义为这份石子中最大重量与最小重量的差的平方。总划分费用等于m 份划分费用之和。输入 第一行两个正整数n 和m,接下来有n 行每行一个正整数,表示一个石子的重量ai。(1n, m, ai1,000)输出 将计算出的最小总划分费用输出样例输入4247101样例输出18描述 给定n 个石子,其重量分别为a1, a2, a3, an,要求将其划分成m 份,每一份的划分费用定义为这份石子中最大重量与最小重量的差的平方。总划分费用等于m 份划分费用之和。输入 第一行两个正整数n 和m,接下来有n 行每行一个正整数,表示一个石子的重量ai。(1n, m, ai1,000)输出 将计算出的最小总划分费用输出样例输入4247101样例输出18代码:#include stdafx.h#include stdio.h#include#includeusing namespace std; int a105,minvalue; int dp105105;int Min(int b,int n,int m) int min=bn-1,j;for(j=n-1;j=m-1;j-) if(bj=m-1;j-)p=an-aj+1; bj=f(j,m-1)+p*p; dpnm=Min(b,n,m);return dpnm;int main() int i,n,m; scanf(%d,&n); scanf(%d,&m);a0=0; for(i=1;i=n;i+) scanf(%d,&ai);/* j=i; while(ajaj-1) tap=aj; aj=aj-1; aj-1=tap; j-; */ / QuickSort(a,1,n); / MergeSort(a,n+1); sort(a+1,a+n+1); memset(dp,-1,sizeof(dp); / for(i=1;i=n;i+) / printf(%d,ai); minvalue=f(n,m); printf(%dn,minvalue);return 0; 运行结果:
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!