博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 4628 Pieces(状态压缩dp)
阅读量:4072 次
发布时间:2019-05-25

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

题目大意:

给一个字符串,每次可以删除一个可不连续回文子串,问最少删几次可以全部删完。

思路:

因为字符串长度最大16,所以可用二进制状态表示, 1表示选取这个字符,0不选,组成一个子串。

先预处理出所有状态,看这个状态是不是回文。

f[i]表示状态i最少几次可以全删完, 初始化f数组INF

f[i] = min{f[i], f[s]+1 } s是i的子集。

#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long int64;const int INF = 0x3f3f3f3f;const int MAXN = (1<<16)+10;char str[20];bool check[MAXN];int f[MAXN];int maxSta;bool isPalind(int st, int len){ char sub[20]; int idx = 0; for(int i=0; i
>i)&1 ) sub[idx++] = str[i]; } for(int i=0; i

转载地址:http://svzni.baihongyu.com/

你可能感兴趣的文章
Jenkins + Docker + SpringCloud 微服务持续集成 - 单机部署(二)
查看>>
Jenkins + Docker + SpringCloud 微服务持续集成 - 高可用集群部署(三)
查看>>
Linux 粘滞位 suid sgid
查看>>
C#控件集DotNetBar安装及破解
查看>>
Winform皮肤控件IrisSkin4.dll使用
查看>>
Winform多线程
查看>>
C# 托管与非托管
查看>>
Node.js中的事件驱动编程详解
查看>>
mongodb管理与安全认证
查看>>
nodejs内存控制
查看>>
nodejs Stream使用中的陷阱
查看>>
MongoDB 数据文件备份与恢复
查看>>
MongoDB数据库插入、更新和删除操作详解
查看>>
MongoDB文档(Document)全局唯一ID的设计思路
查看>>
mongoDB简介
查看>>
Redis持久化存储(AOF与RDB两种模式)
查看>>
memcached工作原理与优化建议
查看>>
Redis与Memcached的区别
查看>>
程序员最核心的竞争力是什么?
查看>>
linux CPU个数查看
查看>>