luogu3959 宝藏
2024-10-08 03:13:28
状压搜索轻轻松松就过了……考场上代码太丑了T了几个点
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int n, m, uu, vv, ww, w[15][15], dis[15], dp[100005], ans;
const int oo=0x3f3f3f3f;
void dfs(int x){
for(int i=1; i<=n; i++)
if(x&(1<<(i-1)))
for(int j=1; j<=n; j++)
if(!(x&(1<<(j-1))) && w[i][j]<oo)
if(dp[x|(1<<(j-1))]>dp[x]+dis[i]*w[i][j]){
int t=dis[j];
dis[j] = dis[i] + 1;
dp[x|(1<<(j-1))] = dp[x] + dis[i] * w[i][j];
dfs(x|(1<<(j-1)));
dis[j] = t;
}
}
int main(){
cin>>n>>m;
ans = oo;
memset(w, 0x3f, sizeof(w));
for(int i=1; i<=m; i++){
scanf("%d %d %d", &uu, &vv, &ww);
w[uu][vv] = w[vv][uu] = min(w[vv][uu], ww);
}
for(int i=1; i<=n; i++){
memset(dis, 0x3f, sizeof(dis));
memset(dp, 0x3f, sizeof(dp));
dp[1<<(i-1)] = 0;
dis[i] = 1;
dfs(1<<(i-1));
ans = min(ans, dp[(1<<n)-1]);
}
cout<<ans;
return 0;
}
最新文章
- Linux进程间通信之消息队列
- shell脚本检测局域网内存活主机
- Java初学之华容道游戏
- 几种JavaScript富应用MVC MVVM框架
- [cocos2d-x3.0]Android+NDK+Eclipse环境搭建及编译步骤~
- EF+SQLSERVER控制并发下抢红包减余额(改进)
- Jmeter 正则提取器
- 树状数组(瞎bb) [树状数组]
- H5新手快速入门 简单布局
- WPF介绍
- 1、IDEA的常用快捷键
- OpenStack--ntp组件时间同步服务
- Redis(REmote DIctionary Server)基础
- Linux 下安装多个 tomcat
- bzoj2560串珠子(子集dp)
- MyOD
- day2 查看文件目录命令:ls
- InstrumentDriver,对iOS自动化测试说 Yes!
- [py]py里的isinstance判断实例来源(含父类)
- CSS阻塞渲染、怎么防止css阻塞
热门文章
- websocket来回收发消息
- Hdu 5458 Stability (LCA + 并查集 + 树状数组 + 缩点)
- 素数+map BestCoder Round #54 (div.2) 1002 The Factor
- HDU 4366 Successor 分块做法
- 合理设置apache的连接数及进程工作方式
- AJPFX总结线程创建的两种方法
- cacti支持中文办法
- java读取大文件 超大文件的几种方法
- 推荐一个高大上的网易云音乐命令行播放工具:musicbox
- Piston Pump Manufacturers - Mobile Cartridge Piston Pump: Advantages