- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
区间dp
最大矩阵连乘次数 描述 给定n个矩阵{A1,A2,…,An},其中Ai与Ai+1是可乘的,i=1,2 ,…,n-1。如何确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最大。 输入 输入包含多组测试数据。第一行为一个整数C,表示有C组测试数据,接下来有2*C行数据,每组测试数据占2行,每组测试数据第一行是1个整数n(n≤10),表示有n个矩阵连乘,接下来一行有n+1个数,表示是n个矩阵的行及第n个矩阵的列,它们之间用空格隔开。 输出 你的输出应该有C行,即每组测试数据的输出占一行,它是计算出的矩阵最大连乘积次数。 样例输入 1310 100 5 50 样例输出 75000 * 分析 一个A*B的矩阵和一个B*C的矩阵相乘所需要的乘法次数是A*B*C次,得到的矩阵是A*C的。 在运算的最后一步,总是由两部分来合成一个矩阵,因此我们只要枚举这一步,即可转到相应的子结构中去。我们定义dfs(x,y)表示第x个矩阵到第y个矩阵相乘所能够达到的最多次数。 于是我们可以知道如下方程: 其中T[x,k]*T[k+1,y]表示最后一步所需要的乘法次数。 * #include?iostreamusing?namespace?std;int?p[15],?q[15];int?DFS(int?x,?int?y){????int?max?=?0,?temp, i;????if(x?==?y)?return?0;????for(i=x;?i=y-1;?i++)?{????????temp?=?DFS(x,?i)?+?DFS(i+1,?y)?+?p[x]*q[i]*q[y];????????if(temp??max)???????????max?=?temp;????}????return?max;}int?main(){????int?a,?s[15],?i,?n;????cin??n;????while(n--){????????cin??a;????????for(i=0;?i=a;?i++)????????????cin??s[i];????????for(i=1;?i=a;?i++){????????????p[i]?=?s[i-1]; ?q[i]?=?s[i];????????}????????cout??DFS(1,?a)??endl;????}????return?0;} * 石子归并 描述 有n堆石子排成一条直线,每堆石子有一定的重量。现在要合并这些石子成为一堆石子,但是每次只能合并相邻的两堆。每次合并需要消耗一定的体力,该体力为所合并的两堆石子的重量之和。问最少需要多少体力才能将n堆石子合并成一堆石子? 输入 输入只包含若干组数据。每组数据第一行包含一个正整数n(2=n=100),表示有n堆石子。接下来一行包含n个正整数a1,a2,a3,...,an(0ai=100,1=i=n)。 输出 对应输入的数据,每行输出消耗的体力。 样例输入 247?95 样例输出 142 * 分析 我们很容易想到用贪心的想法解决,但是用贪心解题算法错误。因为不一定最小的合并在一起就可以保证最终结果是最小的。 最后合并成一对石子,是由两堆石子合并而来,不妨这样定义状态转移方程: 设F[i,j]表示从第i堆到第j堆石子数总和。 Fmin(i,j)表示将从第i堆石子合并到第j堆石子的最小的得分 * #include?iostreamusing?namespace?std;int?main(){????int?a,?q[110],?i,?j,?s[110][110],?r,?k,?p[110][110];????while(cin??a)??{????????for(i=1;?i=a;?i++)????????????cin??q[i];????????memset(s,?0,?sizeof(s));????????for(i=1;?i=a;?i++)??{????????????????p[i][i]?=?q[i];??????????????for(j=i+1;?j=a;j++)??????????????????p[i][j]?=?p[i][j-1]?+?q[j];??????????}?????????????for(r=2;?r=a;?r++){????????????for(i=1;?i=a-r+1;?i++)??{????????????????j?=?i?+?r?-?1;????????????????s[i][j]?=?INT_MAX;
您可能关注的文档
最近下载
- 湖南省名校联考联合体2025-2026学年高一上学期10月联考语文试卷含答案.pdf VIP
- 部分常用岩土物理力学参数经验数值.doc
- 中南大学网校马克思主义基本原理考试.doc VIP
- 浙江省精诚联盟2025-2026学年高一上学期10月联考生物试卷含答案.docx VIP
- 2025-2026学年广东省广州市第一中学高一上学期10月月考数学试卷含详解.docx VIP
- 抖音爸爸博主“新父职”的数字实践研究_.pdf VIP
- 演示文稿青春期生长发育.ppt VIP
- 2023年中南财经政法大学公共课《马克思主义基本原理概论》期末试卷B(有答案).docx VIP
- 2024-2025学年广东省珠海市文园中学九年级(下)开学物理试卷.docx VIP
- 保健品营销策划.pdf VIP
文档评论(0)