錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務(wù),錦州廣廈維修電腦,公司IT外包服務(wù)
topFlag1 設(shè)為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務(wù)項目 服務(wù)報價 維修流程 IT外包服務(wù) 服務(wù)器維護 技術(shù)文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務(wù)技術(shù)文章
石子合并(動態(tài)規(guī)劃 區(qū)間DP)+詳細注釋

作者: 佚名  日期:2023-07-15 21:01:11   來源: 本站整理

題目

設(shè)有 N 堆石子排成一排,其編號為 1,2,3,…,N。

每堆石子有一定的質(zhì)量,可以用一個整數(shù)來描述,現(xiàn)在要將這 N 堆石子合并成為一堆。

每次只能合并相鄰的兩堆,合并的代價為這兩堆石子的質(zhì)量之和,合并后與這兩堆石子相鄰的石子將和新堆相鄰,合并時由于選擇的順序不同,合并的總代價也不相同。

例如有 4 堆石子分別為 1 3 5 2, 我們可以先合并 1、2堆,代價為 4,得到 4 5 2, 又合并 1、2堆,代價為 9,得到 9 2 ,再合并得到 11,總代價為 4+9+11=24;

如果第二步是先合并 2、3 堆,則代價為 7,得到 4 7,最后一次合并代價為 11,總代價為 4+7+11=22。

問題是:找出一種合理的方法,使總的代價最小,輸出最小代價。

輸入格式

第一行一個數(shù) N 表示石子的堆數(shù) N。

第二行 N 個數(shù),表示每堆石子的質(zhì)量(均不超過 1000)。

輸出格式

輸出一個整數(shù),表示最小代價。

數(shù)據(jù)范圍

1≤N≤300

輸入樣例:

4 1 3 5 2 

輸出樣例:

22

 

解題思路:

按區(qū)間從短到長依次枚舉,求區(qū)間中石子合并的最小代價并記錄在f數(shù)組中 

例如  

區(qū)間長度len=2時得到

f[1][2] = 4,f[2][3] = 8,f[3][4] = 7


在區(qū)間長度len=3時根據(jù)f[l][r]=min(f[l][r],f[l][k]+f[k+1][r]+s[r]-s[l-1]);就可以得到

f[1][3]=f[1][2]+f[3][3]+(s[3]-s[0])=13

ps:區(qū)間長度遞增的原因是區(qū)間長度長的利用到了區(qū)間長度小的數(shù)值

 

程序代碼

#include<bits/stdc++.h> const int N=1010; int f[N][N];//表示區(qū)間  int s[N];   //求前綴和  int a; using namespace std; int main() {  cin>>a;  for(int i=1;i<=a;i++)cin>>s[i];     for(int i=1;i<=a;i++)s[i]+=s[i-1];//求前綴和,使得下標(biāo)之差就是區(qū)間的元素之和     for(int len=2;len<=a;len++)//len代表區(qū)間的長度,區(qū)間的長度遞增   {   for(int i=1;i+len-1<=a;i++)//例如,i=1,len=2時 i+len-1=2,1到2即表示區(qū)間長度為2   {    int l=i,r=i+len-1;    f[l][r]=0x3f3f3f3f;        for(int k=l;k<r;k++)//k用來切割區(qū)間     {     f[l][r]=min(f[l][r],f[l][k]+f[k+1][r]+s[r]-s[l-1]);     //區(qū)間從左到右依次分割求理想的最小值     }    //s[r]-s[l-1]為最后一下合并區(qū)間內(nèi)的石子需要的體力為區(qū)間內(nèi)所有石子的和    }  }  cout<<f[1][a];//輸出1到a區(qū)間的最小和,就是答案  }


熱門文章
  • 蘋果按鍵強制恢復(fù)出廠步驟,蘋果手機...
  • Centos怎么關(guān)閉防火墻?Centos7關(guān)閉...
  • 石子合并(動態(tài)規(guī)劃 區(qū)間DP)+詳細...
  • windows server 2012 r2 VPN 服務(wù)器...
  • js替換字符串中的空格,換行符
  • 記錄一臺iMac A1419維修信息供參考...
  • 詳解CAS算法
  • 蘋果電腦黑屏是什么原因造成的
  • MAC電腦忘記開機密碼怎么辦,怎么解...
  • mac怎么卸載軟件
  • AHCI和RAID有什么區(qū)別?AHCI和RAID...
  • 在BIOS中把硬盤模式RAID改成AHCI模...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯(lián)系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務(wù)區(qū)域: 遼寧錦州市區(qū)
    主要業(yè)務(wù): 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網(wǎng)設(shè)置,IT服務(wù)外包,局域網(wǎng)組建,ADSL共享上網(wǎng),路由器設(shè)置,數(shù)據(jù)恢復(fù),密碼破解,光盤刻錄制作等服務(wù)

    技術(shù)支持:微軟等
    主站蜘蛛池模板: 亚洲精品无码永久在线观看你懂的 | 国产精品无码DVD在线观看| 无码永久免费AV网站| 最新亚洲人成无码网www电影| 亚洲va中文字幕无码| 亚洲a∨无码男人的天堂| 亚洲国产AV无码一区二区三区| 无码日韩AV一区二区三区| 野花在线无码视频在线播放| 无码日本精品XXXXXXXXX| 久久无码专区国产精品| 亚洲精品无码专区2| 亚洲a∨无码精品色午夜| 无码国产精品一区二区免费3p| 免费无遮挡无码视频网站| 中文字幕乱偷无码av先锋蜜桃| 中文字幕无码免费久久| 国产高新无码在线观看| 永久免费AV无码网站在线观看| 永久免费AV无码国产网站| 亚洲欧洲自拍拍偷午夜色无码| 亚洲?v无码国产在丝袜线观看| 亚洲国产成人精品无码区二本| 免费A级毛片无码视频| 无码精品国产一区二区三区免费| 亚洲av无码成人精品区在线播放 | 亚洲一级特黄大片无码毛片| 中文字幕人成无码免费视频| 国产精品久久久久无码av| 人妻丰满熟妇AV无码片| 亚洲国产超清无码专区| 91无码人妻精品一区二区三区L| 无码人妻丰满熟妇精品区| 久久久国产精品无码免费专区| 在线观看免费无码专区| 久久精品无码精品免费专区| 亚洲∧v久久久无码精品| 色综合久久久久无码专区| 亚洲AV无码久久久久网站蜜桃| 中文字幕无码视频手机免费看| 亚洲精品无码人妻无码|