UVA 11584 Partitioning by Palindromes
2015-11-23 19:54
405 查看
受区间dp思路影响太严重。。。
开始没用记忆化,tle了
开始没用记忆化,tle了
#include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #define MAX 1010 using namespace std; char s[MAX]; int dp[MAX][MAX],L,dp1[MAX][MAX]; void init(){ gets(s); L=strlen(s); memset(dp,0,sizeof(dp)); for(int i=0;i<MAX;i++) dp[i][i]=1; memset(dp1,-1,sizeof(dp1)); } int find(int front,int rear){ if(dp[front][rear]) return 1; if(dp1[front][rear]!=-1) return dp1[front][rear]; int minn=rear-front+1; for(int i=front;i<rear;i++){ if(dp[front][i]){ int temp=1+find(i+1,rear); minn=min(minn,temp); } } return dp1[front][rear]=minn; } void solve(){ for(int i=2;i<=L;i++){ for(int j=0;j+i-1<L;j++){ int t=i+j-1; if(s[j]==s[t]&&(i==2||dp[j+1][t-1])) dp[j][t]=1; } } int ans=find(0,L-1); printf("%d\n",ans); } int main(){ int T; scanf("%d",&T); getchar(); while(T--){ init(); solve(); } return 0; }
相关文章推荐
- 【bzoj3942】 [Usaco2015 Feb]Censoring KMP
- Access、Hybrid和Trunk三种模式的理解
- 错排数
- 深入理解JDBC的超时设置
- LoadRunner中负载时间Duration与迭代次数Iteration的联系
- SharedSdk 分享
- mysql问题之infomation_schema
- [转]Bluetooth LE Credit-Based Flow Control for L2CAP Connection-Oriented Channels
- Project Euler 82:Path sum: three ways 路径和:3个方向
- 如何使用reg命令修改注册表
- DBCP、C3P0、Proxool 、 BoneCP开源连接池的比较
- ajax-瀑布流效果
- Golang学习笔记:包制作
- codeforces 581A Vasya the Hipster
- 数据结构之队列_Queue
- iOS求职:OC面试题
- 《奔跑吧,兄弟》之王祖蓝的"钥匙配箱子"概率统计问题--->>回眸
- [android] cannot be cast to android.widget.HeaderViewListAdapter
- CityEngine CGA语法之单坡式屋顶函数 roofShed
- codeforces 581B Luxurious Houses