uva 11594 划分回文串
2015-10-24 22:25
204 查看
很简单的一道划分型DP题
可是花了我很长时间啊~/(ㄒoㄒ)/~
老是有BUG~~还是练得少~~
NOIP快到了怎么办啊~~
题目描述:
输入一个长度不超过1000的字符串,将它分成尽量少的回文串
输出回文串最少的个数
可是花了我很长时间啊~/(ㄒoㄒ)/~
老是有BUG~~还是练得少~~
NOIP快到了怎么办啊~~
题目描述:
输入一个长度不超过1000的字符串,将它分成尽量少的回文串
输出回文串最少的个数
#include<iostream> #include<algorithm> #include<string> using namespace std; const int INF = 214748; string s0; int dp[1005][1005]; bool check(int i,int j) { for(int x = 0;i+x<=j-x;x++) if(s0[i]!=s0[j])return false; return true; } int main() { cin >> s0; int n = s0.size(); for(int i = 0;i<=n;i++) for(int j = 0;j<=n;j++) dp[i][j] = INF; for(int i = 0;i<n;i++) dp[i][i] = 1; for(int L = 1;L<n;L++) for(int i = 0;i+L<n;i++) { int j = i+L; if(check(i,j)) {dp[i][j]=1;} else { for(int k = i;k<j;k++) dp[i][j] = min(dp[i][j],dp[i][k]+dp[k+1][j]); } } cout << dp[0][n-1]; return 0; }
相关文章推荐
- iOS激情详解之Core Data
- LightOJ 1148 - Mad Counting (map运用)
- LeetCode之Unique Binary Search Trees & Unique Binary Search Trees II
- iOS开发11-iOS 数据持久化(简单、复杂对象的读写)
- 究竟什么是敏捷测试
- 浅谈计算机中的存储管理-(物理内存)
- CentOS 6.5 (CentOS 7)安装过程记录
- c语言之指针理解一
- LinuxCNC+EtherCAT(6)之LinuxCNC使用,翻译
- LeetCode:Reverse Linked List
- Intent中的四个重要属性——Action、Data、Category、Extras
- C++
- 开发:日期格式的处理(日期终结者)
- 各种机械键盘轴的区别,到底什么轴好
- 链接错误 multiply defined (by misc_1.o and misc.o).
- 实例演示如何在spring4.2.2中集成hibernate5.0.2并创建sessionFactory
- SVN部署
- 实例演示如何在spring4.2.2中集成hibernate5.0.2并创建sessionFactory
- CMake学习
- 实例演示如何在spring4.2.2中集成hibernate5.0.2并创建sessionFactory