回文串最少划分数
来源:互联网 发布:吃鸡为什么不优化 编辑:程序博客网 时间:2024/06/04 20:28
这个是正向分析字符串,觉得比较好理解.
这个问题以后还要补充……
via http://blog.csdn.net/u010885899/article/details/50364183
#pragma warning(disable:4996) #include <iostream> #include <algorithm> #include <cmath> #include <vector> #include <string> #include <cstring> using namespace std;int len;char s[5005];char s1[5005];int dp[5005];int v[5005][5005];void input(){ scanf("%s", s1); len = strlen(s1); strcpy(s + 1, s1);}void solve(){ int i, j; for (i = 0; i <= len; i++) { v[i][i] = 1; } for (i = 1; i <= len; i++) { dp[i] = i; for (j = i; j >= 1; j--) { if (i == j) { dp[i] = min(dp[i], dp[i - 1] + 1); } else if (i - j == 1 && s[i] == s[j]) { v[j][i] = 1; dp[i] = min(dp[i], dp[j-1] + 1); } else if (v[j + 1][i - 1]&&s[i]==s[j]) { v[j][i] = 1; dp[i] = min(dp[i], dp[j-1] + 1); } } } printf("%d", dp[len]);}int main(){ //freopen("i.txt", "r", stdin); //freopen("o.txt", "w", stdout); input(); solve(); //system("pause"); return 0;}
0 0
- 回文串最少划分数
- uva11584 dp最少回文串划分
- 回文最少分割数
- 回文最少分割数
- 回文最少分割数
- uva 11584Partitioning by Palindromes dp(最少回文串划分)
- Uva11584 最少回文串
- JS实现计算最少回文切割数
- 1154 回文串划分
- 回文串划分
- 回文串划分
- 1154 回文串划分
- 最小回文串划分
- 回文串划分
- 回文数&&回文串
- poj1159——Palindrome(组成回文串的最少字符数,dp)
- uva 11584 计算最少回文串数 动态规划 lrj-P276
- uva 11594 划分回文串
- unity 背包Item拖拉
- 面向对象设计模式与原则
- 51nod-1055 最长等差数列
- 分布式锁的实现
- 《JAVA与模式》之适配器模式
- 回文串最少划分数
- 《java编程思想》第十三章 字符串
- 第四周项目3-单链表应用(1)
- BigDecimal除法运算出现java.lang.ArithmeticException: Non-terminating decimal expansion; no exact represent
- 顺序表应用2:多余元素删除之建表算法
- MATLAB 画图技巧
- Python基础学习----数据类型,字符串,内置数据结构
- ubuntu 程序不能输入中文问题
- ceph集成测试调研