当前位置: 首页 > news >正文

论状压记忆化搜索

其实非常简单,甚至比递推写法简单
比如P2704,递推做这个比较麻烦,但状压记搜强大

#include<bits/stdc++.h>
#include<bits/extc++.h>
using namespace std;
using namespace __gnu_cxx;
using namespace __gnu_pbds;
int n,m,k[101];
char x;
bitset<10> bs;
int mem[1<<11][1<<11][101];
int dfs(unsigned f,unsigned ff,int l){if(l==n)return 0;if(mem[f][ff][l])return mem[f][ff][l];int ans=0;unsigned ym=k[l]&~f&~ff;for(unsigned i=ym;;i=(i-1)&ym){if(i&(i<<1))continue;if(i&(i<<2))continue;if(i&(i>>1))continue;if(i&(i>>2))continue;ans=max(ans,dfs(i,f,l+1)+__builtin_popcount(i));if(!i)break;}return mem[f][ff][l]=ans;
}
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n >> m;for(int i=0;i<n;i++){for(int j=0;j<m;j++)cin >> x,bs[j]=x=='P'?1:0;k[i]=bs.to_ulong();}cout << dfs(0,0,0);return 0;
}
http://www.jsqmd.com/news/6052/

相关文章:

  • Spring Gateway动态路由实现方案 - 详解
  • postman使用总结 - 详解
  • Nordic 高性能无线SoC nRF54LM20A,专为低功耗蓝牙与Matter设计
  • 调用setState 之后发生了什么?
  • 黄金分割比
  • how create rhel8 local repository server
  • 对称加密和非对称加密原理对比
  • 借助Aspose.Email,使用 Python 读取 Outlook MSG 文件
  • 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(11.B)- FlexSPI NOR连接方式大全(RT1180)
  • 文件同步工具深度测评(2025版):同步盘夺冠
  • 20250929周一日记
  • Oracle故障处理:数据库启动时遇到ORA-01578错误
  • 实用指南:梦回童年,将JSNES 游戏模拟器移植到 HarmonyOS 移植指南
  • 单键触控感应芯片 电容是触控IC VKD233HS -永嘉微VINKA 原厂
  • CSS中多种边框的实现小窍门 - 教程
  • 微算法科技(NASDAQ: MLGO)研发基于 DPoS 框架的 DL-DPoS(深度链接委托权益证明)机制,增强区块链的共识算法
  • treap树模板
  • Spring Boot版本1.5.7.RELEASE升级到2.5.14
  • 读者-写者问题
  • 实现邮件发送
  • AGC073C 赛后补题记录
  • LuatOS赋能Air780EPM:FTP通信开发教程正式上线!
  • 深入解析:【深度学习计算机视觉】03:目标检测和边界框
  • DM40万用表为何全网爆火?!它有哪些与众不同?DM40万用表比肩千元级表,让您轻松实现专业级测量自由!
  • 树形dp [POI 2013] LUK-Triumphal arch
  • 【论术】t-design tree组件判断点击了角标还是label
  • Redis基础篇——集成客户端 - 实践
  • leetCode刷题记录1
  • 【Bluedroid】A2DP Source 音频流暂停流程解析[5]:停止流程及资源管理机制(btif_a2dp_source_stop_audio_req) - 教程
  • 完整教程:分布式之抢购