HDU 4628
来源:互联网 发布:二手车网站源码 编辑:程序博客网 时间:2024/05/24 04:17
这是一个大水题啊。。。
因为比赛时不会算复杂度耽误半天。
i从0到2^n枚举集合i的所有分割两半的情况的复杂度为O(3^n),可以想象这个过程相当于是给每个位标记0,1,2(0表示不选,1,2表示两个集合)
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;char s[20];int vis[1<<16];int main(){ int t,T,i,j,len; scanf("%d",&T); for(t=1;t<=T;t++){ scanf("%s",s); len=strlen(s); for(i=1;i<(1<<len);i++){ bool flag=1; int l=0,r=len-1; while(l<r){ while(l<len && ((i&(1<<l))==0)) l++; while(r>=0 && ((i&(1<<r))==0)) r--; if(s[l]!=s[r]){ flag=0; break; } l++,r--; } if(flag) vis[i]=1; else vis[i]=len; } for(i=1;i<(1<<len);i++){ if(vis[i]==1)continue; for(j=(i-1)&i;j;j=(j-1)&i) vis[i]=min(vis[i],vis[i-j]+vis[j]); } printf("%d\n",vis[(1<<len)-1]); }}
- HDU 4628
- HDU 4628 Pieces
- HDU 4628 Pieces
- Hdu 4628 Pieces
- hdu 4628 Pieces
- HDU 4628状压DP
- Pieces hdu 4628
- HDU 4628 Pieces
- hdu(4628)Pieces
- HDU-4628-Pieces
- hdu 4628 Pieces
- hdu 4628 Pieces
- hdu 4628Pieces
- hdu 4628(状态压缩)
- HDU 4628 状态压缩
- hdu
- hdu
- HDU
- 二分匹配题集分类,从入门到精通
- 面向对象设计的基本原则
- Vi与Ultraedit实现“删除包含某一个关键字所有行”功能的PK
- 将字符串中的‘*’移动到字符串最前面且不改变原来非‘*’字符的顺序
- Android双向滑动菜单完全解析,教你如何一分钟实现双向滑动特效
- HDU 4628
- hdu4508 湫湫系列故事——减肥记I (完全背包)
- CSS架构
- IplImage的用法
- 映射的概念
- 我的面试经历(2013.5)
- pollard_rho大数分解Java版
- uva 501 Black Box
- hdu 2196 (树形DP)