状态压缩dp
来源:互联网 发布:软件我的手机 编辑:程序博客网 时间:2024/06/09 15:21
关于状态压缩dp的一点理解
练几道题就明白
前导算法
最少掌握二维的dp
进制转换
数论基础
算法干嘛
可以求解方案数啊,减少维数,本质还是dp求解
算法思路
若果一道dp题,发现确定状态的参数很多,并且他们在某种意义下,是相近的。
这时,可以将其编号,然后用进制的方式压缩到成一个参数,进而减少dp的维数。比如原先空间是dp[100][2][2][2][2][2] 可以变成dp[100][1<<5];
当然转移方程也需要调整,有时会比较麻烦。可以 模块化,打包成一个函数。然后调用。
算法阶段
发现维数众多,状态众多
合并维数用一位表示多维
设计对应的转移方程
遍历状态,求解值
个人感觉
状态压缩是一种dp姿势。其实是在利用数论知识用数描述状态,但是由于基础数据类型int有32位,一个int变量最多表示32个独立参数表示的状态。
模板
for(int i=2;i<=m;i++){ //枚举行数 for(int k=0;k < (1<<n);k++ ){//枚举这一行的状态 if(isOk(i,k)){ //查询这个状态是否合理 dp[i][k]=sum(i,k); //状态转移方程 } }}
这些题大家可以练习(遇到补充)
1.POJ - 3254 Corn Fields
求在m*n土地上种植牧草的方案数
我写的题解
阅读全文
0 0
- 状态压缩dp
- pku1038状态压缩dp
- 状态压缩DP 入门
- HDU1074 状态压缩DP
- Poj3254 状态压缩DP
- 状态压缩DP入门
- 【状态压缩DP】互不侵犯
- 【状态压缩DP】电子竞技
- HDU1074 状态压缩DP
- 【状态压缩DP】互不侵犯
- 状态压缩 DP AHU420
- HDU2167 状态压缩DP
- SGU223 -状态压缩DP
- poj3254 状态压缩dp
- 状态压缩dp poj1185
- DP(2) 状态压缩
- poj2430 状态压缩DP
- hdu4628状态压缩DP
- 23种设计模式(11):责任连模式
- 关于Navicat Premium报错:ORA-12541:TNS:no listener解决方案
- 进程间的几种通信方式
- 【loj】#6005. 「网络流 24 题」最长递增子序列(dp+最大流)
- 1.git上传等问题
- 状态压缩dp
- linux vim编辑相关命令
- selenium自动化测试资源整理(含所有版本chrome、chromedriver、firefox下载链接)
- java入门基础编-1-常用的dos命令
- hdu 2087 hash(板子
- PostgreSQL事务可以包含DML、DDL、DCL.md
- MySQL ('root'@'%') does not exist的问题
- 时间戳转化为日期格式
- C++数据类型总结