zoukankan      html  css  js  c++  java
  • hdu1513 Palindrome

    思路:

    dp+滚动数组。

    实现:

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <string>
     4 #include <algorithm>
     5 #include <cstring>
     6 using namespace std;
     7 
     8 int n;
     9 string str;
    10 int dp[5005][3];
    11 
    12 int solve()
    13 {
    14     for (int i = n - 1; i >= 0; i--)
    15     {
    16         for (int j = i + 1; j < n; j++)
    17         {
    18             if (str[i] == str[j])
    19             {
    20                 dp[i & 1][j] = dp[(i + 1) & 1][j - 1];
    21             }
    22             else
    23             {
    24                 dp[i & 1][j] = min(dp[i & 1][j - 1], dp[(i + 1) & 1][j]) + 1;
    25             }
    26         }
    27     }
    28     return dp[0][n - 1];
    29 }
    30 
    31 int solve2()
    32 {
    33     for (int j = 2; j <= n; j++)
    34     {
    35         for (int i = 0; i <= n - j; i++)
    36         {
    37             if (str[i] == str[i + j - 1])
    38             {
    39                 dp[i][j % 3] = dp[i + 1][(j - 2) % 3];
    40             }
    41             else
    42             {
    43                 dp[i][j % 3] = min(dp[i][(j - 1) % 3], dp[i + 1][(j - 1) % 3]) + 1;
    44             }
    45         }
    46     }
    47     return dp[0][n % 3];
    48 }
    49 int main()
    50 {
    51     while (cin >> n >> str)
    52     {
    53         memset(dp, 0, sizeof(dp));
    54         cout << solve2() << endl;
    55     }
    56     return 0;
    57 }
  • 相关阅读:
    清空map
    读取图片的DLL
    利用SysMailer发送邮件
    使用维度显示
    获取用户所属仓库与库位 Owner 所属仓位
    使用电子邮件模板
    使用SQL获取TableID
    导入数据到excel
    ax附件存取研究
    两步转移 过账
  • 原文地址:https://www.cnblogs.com/wangyiming/p/6381360.html
Copyright © 2011-2022 走看看