博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
区间DP UVA 11584 Partitioning by Palindromes
阅读量:6882 次
发布时间:2019-06-27

本文共 1163 字,大约阅读时间需要 3 分钟。

 

1 /* 2     题意:给一个字符串,划分成尽量少的回文串 3     区间DP:状态转移方程:dp[i] = min (dp[i], dp[j-1] + 1); dp[i] 表示前i个字符划分的最少回文串, 4             如果s[j] 到 s[i]是回文串,那么可以从dp[j-1] + 1递推过来 5 */ 6 #include 
7 #include
8 #include
9 #include
10 using namespace std;11 12 const int MAXN = 1e3 + 10;13 const int INF = 0x3f3f3f3f;14 int dp[MAXN];15 char s[MAXN];16 17 bool ok(int l, int r) {18 while (l < r) {19 if (s[l] != s[r]) return false;20 l++; r--;21 }22 return true;23 }24 25 int main(void) { //UVA 11584 Partitioning by Palindromes26 int T; scanf ("%d", &T);27 while (T--) {28 scanf ("%s", s + 1);29 int len = strlen (s + 1);30 memset (dp, 0, sizeof (dp));31 for (int i=1; i<=len; ++i) {32 dp[i] = i;33 for (int j=1; j<=i; ++j) {34 if (ok (j, i)) {35 dp[i] = min (dp[i], dp[j-1] + 1);36 }37 }38 }39 40 printf ("%d\n", dp[len]);41 }42 43 return 0;44 }

 

转载于:https://www.cnblogs.com/Running-Time/p/4704167.html

你可能感兴趣的文章
Android View 事件分发源码分析
查看>>
vue 2.0 - props
查看>>
RustCon Asia 实录 | Rust 在国内某视频网站的应用
查看>>
Vue遇上Analytics
查看>>
mysql
查看>>
修改max_allowed_packet(允许执行的sql最大长度)
查看>>
node js 处理时间分析
查看>>
判断数据库、表和字段是否存在
查看>>
新手安装postgreSQL后无法连接服务器
查看>>
递归和动态规划
查看>>
java实现简单的控制台管理系统
查看>>
建造模式
查看>>
深入理解 intent (1)
查看>>
将导航栏始终固定在窗口顶部:
查看>>
手机免流量,还会是天方夜谭吗?
查看>>
find命令
查看>>
Java 多线程(四)——线程同步(synchronized、ReentrantLock)
查看>>
遇到Could not load file or assembly ... or one of its dependencies怎么办
查看>>
TCP 上传文件
查看>>
Java练习-001
查看>>