洛谷題目鏈結
動態規劃(真毒瘤!)
變數宣告:
$val[i]$:表示第$i$塊顏色
$num[i]$:表示第$i$塊顏色數量
$sum[i]$:表示$num$的字首和
我們設計狀態$f[l][r][k]$表示區間$(l,r)$中,後面還有$k$個與$val[r]$相同的數字
那麼初始化如下:
$f[l][r][k]=f[l][r-1][0]+(num[r]+k)*(num[r]+k)$
狀態轉移如下:
$f[l][r][k]=max(f[l][r][k],f[l][j][num[r]+k]+f[j+1][r-1][0])$
完整**:
#include#include#define n 57using namespace std;
int n;
int val[n],num[n],sum[n],f[n][n][n*n];
int main()
printf("%d",f[1][n][0]);
return 0;
}
題解 P2135 方塊消除
題目傳送門 區間dp 一道模擬賽的題目,然後一直在推 fl,rf fl,r 為 l,r l,r l,r 區間的最大貢獻的轉移一直沒搞出來,後來發現由於刪除一塊會使得兩端顏色相同的塊合併就很難轉移,於是我們多記錄一維 fl,r,sf fl,r,s 表示 l,r l,r l,r 區間內以及在 r,n r...
UVA10559 方塊消除 費用提前計算
題目鏈結 解析顯然這道題重點在於消掉一些塊之後會產生一些新的連續的塊可以一起消,這個不能想到別的什麼做法,可以考慮區間 dp 不過對於一整坨,你要麼把他們全部一起消掉,要麼就留著等更多的過來一起消掉,你總不可能把一坨分批消掉吧,明顯 x y 2 x 2 y 2 啊 所以剛開始可以把相同顏色的一段塊看...
記憶化搜尋專題 nkoj3698方塊消除
p3698 方塊消除 時間限制 ms 空間限制 65536 kb 評測說明 時限1000ms 問題描述 有n個帶顏色的方塊排成一排,相同顏色的方塊連成一段同色區域,如下圖所示 遊戲時,玩家可以任選一段同色區域,將其消去。設消去的這段包含x個相同顏色的方塊,則此次消除操作的得分為x 2。然後右邊的所有...