石子合併問題 環形 鏈式兩種的區別和題解

2021-10-05 18:29:05 字數 1457 閱讀 3867

鏈式題目傳送門

環形傳送門

區別:1.對於預處理部分,鏈式為字首和s[ ]。環形為區間cost[ ][ ];

2.主要環形的處理 w[n+i] = w[i]; //環長度為n

//鏈式

#include

#include

using

namespace std;

const

int maxn =

310,inf =

0x3f3f3f3f

;int n;

int w[maxn]

,s[maxn]

;int f[maxn]

[maxn]

;//區間dp

intmain()

}}cout<[n];

return0;

}

//環

#include

using

namespace std;

int n;

int w[

205]

;//各堆價值

int f[

205]

[205];

//最小

int ff[

205]

[205];

//最大

int cost[

205]

[205];

//預處理區間和(時間優化)

intmain()

for(

int i=

1;i<=

2*n;i++

)//因為加了一圈,所以求字首和的for迴圈不應該是1~n了,而應該是1~2n,如下

for(

int j=i;j<=

2*n; j++

)for

(int k=i;k<=j;k++

)for

(int i=

1;i<=n;i++

)//區間dp

for(

int len =

1;len < n;len++

)//l也要迴圈到2*n

for(

int l=

1,r=l+len;r2&&l2; l++

,r = l+len)

}int ans1 =

0x3f3f3f3f

,ans2 =0;

for(

int i=

1;i<=n;i++

)ans1 =

min(ans1,f[i]

[i+n-1]

);for(

int i=

1;i<=n;i++

)ans2 =

max(ans2,ff[i]

[i+n-1]

);cout

}//參考了您部落格,侵聯絡刪除謝謝。

include的兩種區別

c 中經常會用到 include 和 include 它們到底有什麼區別呢?1.引入標準庫檔案 include filename.h 格式引用標準庫的標頭檔案。編譯器將從標準庫目錄開始搜尋。標準庫目錄是在開發環境中設定的庫檔案的路徑。如圖 2.也就是說編譯器會到這兩個路徑中找引用的檔案,如果找不到,...

佇列的鏈式儲存的兩種定義方式

佇列的鏈式儲存的定義結點 初始化 判斷空 入隊 出隊 讀取隊頭元素 求佇列長度操作 方法一 這種鏈佇列有頭指標,上圖分別為鏈隊列為空 非空 只有乙個元素的時候的情況,如下 佇列的鏈式儲存和操作的實現 include include includetypedef int datatype typede...

method get post ,兩種方式的區別

form中的get和post方法,在資料傳輸過程中分別對應了get和post方法。二者主要區別如下 1 get將表單中資料的按照variable value的形式,新增到action所指向的url後面,並且兩者使用 連線,而各個變數之間使用 連線 post是將表單中的資料放在form的資料體中,按照...