zoukankan      html  css  js  c++  java
  • POJ 1159 Palindrome 滚存

    11613675CKboss1159Accepted792K1110MSG++635B2013-05-19 15:51:30

    #include <iostream>

    #include <algorithm>
    #include <cstring>

    using namespace std;

    int dp[2][5555];

    int main()
    {
        char s1[5555],s2[5555];
        s1[0]=s2[0]=':';
        int n;
        cin>>n;
        for(int i=1;i<=n;i++)
          {
              cin>>s1;
              s2=s1;
          }
        reverse(s2+1,s2+1+n);
    //    cout<<s2;
        memset(dp,0,sizeof(dp));

        for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)
        {
            if(s1==s2[j])
                dp[i%2][j]=dp[(i-1)%2][j-1]+1;
            else
                dp[i%2][j]=max(dp[(i-1)%2][j],dp[i%2][j-1]);
        }

        cout<<n-dp[n%2][n]<<endl;

        return 0;
    }

  • 相关阅读:
    堆排序
    伽马分布
    隔壁-贪心
    对刚—约瑟夫环
    站军姿-两圆并集
    单纯的线性筛素数
    3兔子
    2.圆桌游戏
    1.花
    历史
  • 原文地址:https://www.cnblogs.com/CKboss/p/3351057.html
Copyright © 2011-2022 走看看