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

[算法]状压dp

关键词:状压使用场景、思路、应用

状压dp是字面意思将状态压缩,一般是压缩至二进制,所以n需要很小,普遍都是 \(n \le 20\).

例题1:简化题目从(0,0)出发,走过所有节点的最短路长度多少

设f[mark][i]定义为状态为mark且最后到达第i个奶酪位置,mark状态定义为当第j位为1的时候表示经过第j个奶酪的位置

#include <bits/stdc++.h>
using namespace std;
const int maxn = 20;
const double inf = 1e20;
int n;
double f[1<<maxn][maxn];
struct node{double x=0,y=0;
}a[maxn];
double add(int i,int j){return sqrt(pow(a[i].x-a[j].x,2)+pow(a[i].y-a[j].y,2));
}
int main(){cin>>n;for(int s=0;s<(1<<n);s++){for(int i=1;i<=n;i++){f[s][i]=inf;}}for(int i=1;i<=n;i++){cin>>a[i].x>>a[i].y;f[1<<(i-1)][i]=add(0,i);}for(int s=0;s<(1<<n);s++){for(int i=1;i<=n;i++){if(!(s&(1<<(i-1))))continue;for(int j=1;j<=n;j++){if(s&(1<<(j-1)))continue;f[s|(1<<(j-1))][j]=min(f[s|(1<<(j-1))][j],f[s][i]+add(i,j));}}}double ans=inf;for(int i=1;i<=n;i++){//cout<<f[(1<<n)-1][i]<<" ";ans=min(ans,f[(1<<n)-1][i]);}printf("%.02lf\n",ans);return 0;
}
http://www.jsqmd.com/news/392465/

相关文章:

  • 浙江大学计算机考研复试【经验分享】
  • 武汉起点人力资源股份有限公司安卓开发工程师职位设计
  • 小白/程序员必备:收藏这份AI大模型系统自学路线,从入门到实战不再迷茫!自学AI大模型学习路线推荐
  • 西北农林科技大学计算机考研复试【经验分享】
  • BISHI58 矩形游戏
  • 华源证券 Android 开发工程师面试题库
  • 西南石油大学计算机考研复试【经验分享】
  • Android驱动工程师面试题及答案
  • 实现电商数据驱动决策的关键步骤
  • 工业级AI原生应用中嵌入模型的部署架构
  • 后端领域 Spring Cloud Ribbon 的监控与管理
  • ClickHouse 在大数据日志分析中的应用
  • openclaw
  • 非结构化数据迁移:跨平台数据转移的策略
  • 电磁兼容仿真:电磁敏感性分析_(5).电磁敏感性实验设计
  • 【多线程】一文吃透 AQS 原理
  • 电磁兼容仿真:电磁干扰分析_(13).电磁兼容设计中的材料选择与应用
  • 电磁兼容仿真:电磁干扰分析_(15).电磁兼容性在无线通信系统中的应用
  • 电磁兼容仿真:电磁敏感性分析_(2).电磁敏感性概述
  • 电磁兼容仿真:电磁敏感性分析_(4).电磁测试与测量技术
  • GPU架构学习笔记(面试精炼版)
  • 电磁兼容仿真:电磁干扰分析_(14).电磁兼容性与人体健康安全
  • 电磁兼容仿真:电磁敏感性分析_(1).电磁兼容性基础理论
  • 电磁兼容仿真:电磁敏感性分析_(3).电磁干扰源分析
  • 基于OceanBase的行列混合存储架构适配HTAP的方案改造
  • 题解:洛谷 P1496 火烧赤壁
  • 2026年仿真计算对电脑的要求深度解析:从硬件选型到算力专业的方案的全维度适配指南
  • 题解:洛谷 P3397 地毯
  • 题解:洛谷 P2367 语文成绩
  • 孤能子视角:全国女婿回丈母娘家 全国儿媳在婆家的统一状态