zoukankan      html  css  js  c++  java
  • 动态规划练习 8

    题目:Palindrome (POJ 1159)

    链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1159

    #include <iostream>
    #include <string>
    #include <memory.h>
    #include <algorithm>
     
    using namespace std;
     
    short min_fix[5001][5001];
     
    int min_fix_char_recursion(const char *input, int i, int j)
    {
        if (i < j)
        {    
            if (input[i] != input[j])
            {
                return min(
                    min_fix_char_recursion(input, i + 1, j), 
                    min_fix_char_recursion(input, i, j - 1)) + 1;
            }
            else
            {
                return min_fix_char_recursion(input, i + 1, j - 1);
            }
        }
     
        return 0;
    }
     
    int main(int argc, char **argv)
    {
        int n;
        string input;
     
        cin >> n;
        cin >> input;
     
        memset(min_fix, 0, sizeof(min_fix));
     
        if (input.size() >= 3 && input.size() <= 5000)
        {
            // recursion version.
            // cout << min_fix_char_recursion(input.c_str(), 0, input.size() - 1) << endl;       
            // recursion ends at any positions in input string.
            // so, dp begins at any positions in input string.
            for (int i = (int)input.size() - 1; i >= 0; --i)
            {
                for (int j = i + 1; j < (int)input.size(); ++j)
                {
                    if (input[i] == input[j])
                    {
                        min_fix[i][j] = min_fix[i + 1][j - 1];
                    }
                    else
                    {
                        min_fix[i][j] = min(min_fix[i + 1][j], min_fix[i][j - 1]) + 1;
                    }
                }
            }
     
            cout << min_fix[0][input.size() - 1] << endl;
        }
     
        return 0;
    }
  • 相关阅读:
    注册验证
    翻页加输入框
    php面向对象
    封装数据库
    浅谈BFC和haslayout
    总结JS面向对象
    总结(JS)
    转载6
    总结(5.30)
    总结(5.29)
  • 原文地址:https://www.cnblogs.com/codingmylife/p/2624249.html
Copyright © 2011-2022 走看看