動態規劃 區間DP 計數類DP

2021-10-03 16:40:40 字數 823 閱讀 1785

acwing 282. 石子合併

區間dp的特點是狀態表示的時候表示的是某乙個區間的情況

動態規劃模型分析:

即:不管石子如何合併,最後一步的操作一定是將兩堆石子合併

把步驟回到倒數第一步。當在做最後一次操作時遍歷所有區間,將最後一步最小的情況記錄進f陣列裡

**部分如下

//全域性變數

const

int n =

310;

int n;

int s[n]

;int f[n]

[n];

intmain()

//不管石子如何合併,最後一步的操作一定是將兩堆石子合併

//把步驟回到倒數第一步。當在做最後一次操作時遍歷所有區間,將最後一步最小的情況記錄進f陣列裡

cout<

[n];

return0;

}

acwing 900. 整數劃分

此思路參考**:

#include

#include

using

namespace std;

const

int n =

1010

, mod =

1e9+7;

int n;

int f[n]

[n];

intmain()

模板 動態規劃 區間dp

因為昨天在codeforces上設計的區間dp錯了 錯過了上紫的機會 覺得很難受。看看學長好像也有學,就不用看別的神犇的了。區間dp處理環的時候可以把序列延長一倍。for int len 1 len n len 首先,使用四邊形優化要滿足下面的性質 當小區間包含在大區間中,則小區間的成本不高於大區間...

Vijos p1150 動態規劃 區間dp

某一村莊在一條路線上安裝了n盞路燈,每盞燈的功率有大有小 即同一段時間內消耗的電量有多有少 老張就住在這條路中間某一路燈旁,他有一項工作就是每天早上天亮時一盞一盞地關掉這些路燈。為了給村里節省電費,老張記錄下了每盞路燈的位置和功率,他每次關燈時也都是盡快地去關,但是老張不知道怎樣去關燈才能夠最節省電...

動態規劃 計數類DP

計數類dp狀態函式的值是集合中元素的個數 1.例題 整數劃分 乙個正整數n可以表示成若干個正整數之和,形如 n n1 n2 nk,其中n1 n2 nk,k 1。我們將這樣的一種表示稱為正整數n的一種劃分。現在給定乙個正整數n,請你求出n共有多少種不同的劃分方法。輸入格式 共一行,包含乙個整數n。輸出...