1. 程式人生 > >【BZOJ】1260 [CQOI2007]塗色paint(區間dp)

【BZOJ】1260 [CQOI2007]塗色paint(區間dp)

c++ ide hid event pri display pro == spl

題目

傳送門:QWQ

分析

區間dp, 詳見代碼

代碼

技術分享圖片
/**************************************************************
    Problem: 1260
    User: noble_
    Language: C++
    Result: Accepted
    Time:0 ms
    Memory:1328 kb
****************************************************************/
 
#include 
<bits/stdc++.h> using namespace std; char s[100]; int dp[100][100]; int main() { for(int i=0;i<100;i++) for(int j=0;j<100;j++) dp[i][j]=1<<25; scanf("%s",s+1); int n=strlen(s+1); for(int i=1;i<=n;i++) dp[i][i]=1; for(int l=2;l<=n;l++) for(int i=1;i+l-1
<=n;i++) { int j=i+l-1; if(s[i]==s[j]) { if(l==2) dp[i][j]=1; else { dp[i][j]=min(dp[i+1][j],dp[i][j-1]); dp[i][j]=min(dp[i][j],dp[i+1][j-1]+1); } } else for(int
k=i;k<=j;k++) dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]); } printf("%d",dp[1][n]); return 0; }
View Code

【BZOJ】1260 [CQOI2007]塗色paint(區間dp)