BZOJ1260 [CQOI2007]涂色paint(区间dp)

Posted noble_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BZOJ1260 [CQOI2007]涂色paint(区间dp)相关的知识,希望对你有一定的参考价值。

题目

传送门: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

 

 

以上是关于BZOJ1260 [CQOI2007]涂色paint(区间dp)的主要内容,如果未能解决你的问题,请参考以下文章

[BZOJ1260][CQOI2007]涂色paint 区间dp

BZOJ1260 [CQOI2007]涂色paint(区间dp)

[BZOJ 1260][CQOI2007]涂色paint 题解(区间DP)

BZOJ 1260 [CQOI2007]涂色paint

BZOJ_1260_[CQOI2007]涂色paint _区间DP

BZOJ 1260 [CQOI2007]涂色paint(区间DP)