小国王(状压dp经典题)

简介: 小国王(状压dp经典题)
#include <bits/stdc++.h>
using namespace std;
int n, m;
const int N = 15;
long long dp[N][1100][1 << 13]; //目前的行 选了多少个 目前状态
vector<int>v;//每行压缩航的合法状态
int check(int x)
{
  int res = 0;
  for (int i = 0; i <= 31; i++)
  {
    if (x >> i & 1) res++;
  }
  return res;
}
int main()
{
  cin >> n >> m;
  int ans = 0;
  for (int i = 0; i < (1 << n); i++)
  {
    if ((i & (i << 1)) == 0)
    {
      v.push_back(i);
    }
  }
  int len = v.size();
  //for(int i=0;i<len;i++)
  //dp[1][check(v[i])][i]=1;
  dp[0][0][0] = 1;
  for (int i = 1; i <= n + 1; i++)
  {
    for (int l = 0; l <= m; l++)
      for (int j = 0; j < len; j++)
      {
        for (int k = 0; k < len; k++)
        {
          if (v[j]&v[k]) continue;
          int t = v[j] | v[k];
          if (t & (t << 1)) continue;
          if (l - check(v[j]) < 0) continue;
          dp[i][l][j] += dp[i - 1][l - check(v[j])][k];
        }
      }
  }
  cout << dp[n + 1][m][0] << endl;
}
目录
相关文章
|
设计模式 开发框架 监控
精准解读桥接模式-用桥接模式构建可扩展的软件系统
桥接模式是一种设计模式,旨在将抽象和实现部分分离,使它们可以独立地变化。这种模式的目的是提高系统的灵活性和可扩展性。桥接模式的主要思想是将抽象和实现通过一个桥接类连接起来,从而实现它们的解耦。在这种模式中,抽象部分可以根据需要进行扩展,而实现部分可以自由地变化,而不影响彼此。桥接模式在处理多个独立变化的维度、解耦继承关系、处理平台差异和扩展现有系统等方面具有广泛的应用领域。通过使用桥接模式,可以提高系统的可维护性和可扩展性,使系统更加灵活和适应变化。通过桥接模式,将系统中的抽象部分与实现部分解耦,从而...
833 0
精准解读桥接模式-用桥接模式构建可扩展的软件系统
|
存储 NoSQL 5G
redis优化编码之字符串
Redis数据结构之字符串
168 2
redis优化编码之字符串
|
机器学习/深度学习 存储 搜索推荐
Elasticsearch与深度学习框架的集成案例研究
Elasticsearch 是一个强大的搜索引擎和分析引擎,广泛应用于实时数据处理和全文搜索。深度学习框架如 TensorFlow 和 PyTorch 则被用来构建复杂的机器学习模型。本文将探讨如何将 Elasticsearch 与这些深度学习框架集成,以实现高级的数据分析和预测任务。
281 0
|
自然语言处理 搜索推荐 算法
如何提升大模型在搜索引擎的性能?
【2月更文挑战第22天】如何提升大模型在搜索引擎的性能?
488 3
如何提升大模型在搜索引擎的性能?
|
Ubuntu 开发工具 数据安全/隐私保护
C++项目实战-环境的搭建
C++项目实战-环境的搭建
282 0
|
数据处理 Go
让消费数据处理更快版本2(有并发控制)-一次性并发获取或者初始化任务最快有效方式
让消费数据处理更快版本2(有并发控制)-一次性并发获取或者初始化任务最快有效方式
|
分布式计算 大数据 开发者
RDD 算子_转换_ aggregateByKey | 学习笔记
快速学习 RDD 算子_转换_ aggregateByKey
189 0
RDD 算子_转换_ aggregateByKey | 学习笔记
|
容器
数字藏品开发(源码版)丨NFT数字藏品系统开发(开发需求)丨NFT数字藏品开发方案
  Each digital collection platform generally defines digital collections as a kind of virtual cultural goods with limited distribution,including but not limited to digital paintings,pictures,music,videos,3D models,and other forms.It uses blockchain technology to record the process of rights confirma
|
存储 机器学习/深度学习 算法
【图像压缩】一种基于香农熵和差分进化算法的多级图像阈值的图像压缩新方法附matlab代码
【图像压缩】一种基于香农熵和差分进化算法的多级图像阈值的图像压缩新方法附matlab代码
【图像压缩】一种基于香农熵和差分进化算法的多级图像阈值的图像压缩新方法附matlab代码

热门文章

最新文章