博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 4632 回文子序列计数
阅读量:5054 次
发布时间:2019-06-12

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

水题

1 #include
2 #include
3 #include
4 #include
5 #include
6 #define mod 10007 7 using namespace std; 8 char str[1002]; int dp[1002][1002],cas; 9 void work( )10 {11 int len = strlen( str );12 memset( dp,0,sizeof(dp) );13 for( int i = 0; i < len; i++ )dp[i][i] = 1;14 for( int i = 1; i < len; i++ )15 for( int j = 0; j + i < len; j++ )16 {17 int t = i+j;18 dp[j][t] = dp[j][t-1] + dp[j+1][t]; if( j+1 <= t-1 ) dp[j][t] -= dp[j+1][t-1];19 if( str[j] == str[t] )20 {21 if( j+1 <= t-1 ) dp[j][t] += dp[j+1][t-1] + 1;22 else dp[j][t]++;23 }24 dp[j][t] %= mod; dp[j][t] += mod;25 }26 dp[0][len-1] %= mod;27 printf("Case %d: %d\n",cas++,dp[0][len-1]);28 }29 int main( )30 {31 int T; cas = 1;scanf("%d",&T);32 while( T-- ){33 scanf("%s",&str);work( );34 }35 return 0;36 }
View Code

 

转载于:https://www.cnblogs.com/wulangzhou/p/3360092.html

你可能感兴趣的文章
.net 写文件上传下载webservice
查看>>
noSQL数据库相关软件介绍(大数据存储时候,必须使用)
查看>>
iOS开发——缩放图片
查看>>
HTTP之URL的快捷方式
查看>>
满世界都是图论
查看>>
配置链路聚合中极小错误——失之毫厘谬以千里
查看>>
代码整洁
查看>>
蓝桥杯-分小组-java
查看>>
Java基础--面向对象编程1(类与对象)
查看>>
Android Toast
查看>>
iOS开发UI篇—Quartz2D使用(绘制基本图形)
查看>>
docker固定IP地址重启不变
查看>>
桌面图标修复||桌面图标不正常
查看>>
JavaScript基础(四)关于对象及JSON
查看>>
关于js sort排序方法
查看>>
JAVA面试常见问题之Redis篇
查看>>
javascript:二叉搜索树 实现
查看>>
网络爬虫Heritrix源码分析(一) 包介绍
查看>>
__int128的实现
查看>>
R 读取clipboard内容 (MAC)
查看>>