#include<bits/stdc++.h>
using namespace std;
const int N = 110, M = 1 << 10;
int n, m;
int g[N];
int f[2][N][N];
/*
利用滚动数组,以为如果三维110数组的话会爆内存
f[i][j][k]表示第i行状态为k, 第i - 1行状态为j的状态下已放置的炮台数量
*/
int cnt[N];
vector<int> state;//记录所有合法情况
bool check(int state){
for(int i = 0; i < m; i ++ ){
//总共有m列,即每一行有m个单元,遍历每个单元
if((state >> i & 1) && (state
AcWing 292 炮兵阵地 题解 (动态规划—DP—状态压缩DP)
最新推荐文章于 2023-10-07 16:02:56 发布
本文详细介绍了AcWing 292题‘炮兵阵地’的解题思路,主要涉及动态规划(DP)与状态压缩DP的应用。通过实例解析,阐述如何利用这两种算法有效地解决问题。
摘要由CSDN通过智能技术生成