Hie with the Pie (状压 DP)
从 0 点出发,每个点可以走多次。最后再回到 0 点,问最小的距离是多少。
因为是从 0 点出发,所以每次更新的时候,我们要保证 0 这个位置一定要是 1 。
for 循环的时候 i = i | 1;
然后从当前节点,走到下一个节点。更新就行了。
#include <bits/stdc++.h>
using namespace std;
#define mem(x,v) memset(x,v,sizeof(x))
const int INF = 0x3f3f3f3f;
int dp[1<<15][20];
int s[20][20];
int n;
int main(){while(scanf("%d",&n) == 1 && n){n++;for (int i = 0; i < n; i++)for (int j = 0; j < n; j++)scanf("%d",&s[i][j]);for (int k = 0; k < n; k++)for (int i = 0; i < n; i++)for (int j = 0; j < n; j++)s[i][j] = min(s[i][j],s[i][k] + s[k][j]); //Floyd 求最短路。mem(dp,INF); dp[1][0] = 0;for (int i = 0; i < (1 << n); i++){i |= 1; //每次要从 0 出发,所以 0 的位置必须要是 1;for (int j = 0; j < n; j++)if (i & (1 << j)) //当前点必须是走过的。for (int k = 0; k < n; k++)dp[i | (1 << k)][k] = min(dp[i | (1 << k)][k], dp[i][j] + s[j][k]);}printf("%d\n",dp[(1 << n)-1][0]);}return 0;
}
Hie with the Pie (状压 DP)相关推荐
- 【POJ 3311】Hie with the Pie(状压DP)
Hie with the Pie 题目链接:POJ 3311 题目大意 给你 n+1 个点,其中 0 号点是特殊点. 然后两个点之间都有路径可以走. 然后你要从特殊点出发走过所有点回到特殊点,问你最短 ...
- 动态规划 —— 状压 DP
[概述] 通常将以一个集合内的元素信息作为状态且状态总数为指数级别的动态规划称为状态压缩动态规划. 其是一类以集合信息为状态的特殊的动态规划问题,主要有传统集合动态规划与基于连通性状态压缩的动态规划两 ...
- Travel(HDU 4284状压dp)
题意:给n个城市m条路的网图,pp在城市1有一定的钱,想游览这n个城市(包括1),到达一个城市要一定的花费,可以在城市工作赚钱,但前提有工作证(得到有一定的花费),没工作证不能在该城市工作,但可以走, ...
- 百练4124:海贼王之伟大航路(状压DP)
题目来源:http://bailian.openjudge.cn/practice/4124/ 4124:海贼王之伟大航路 总时间限制: 1000ms 内存限制: 65536kB 描述 " ...
- POJ 1038 Bugs Integrated Inc (复杂的状压DP)
\(POJ~1038~~*Bugs~Integrated~Inc:\) (复杂的状压DP) \(solution:\) 很纠结的一道题目,写了大半天,就想练练手,结果这手生的.其实根据之前那道炮兵阵地 ...
- codeforces 8C. Looking for Order 状压dp
题目链接 给n个物品的坐标, 和一个包裹的位置, 包裹不能移动. 每次最多可以拿两个物品, 然后将它们放到包里, 求将所有物品放到包里所需走的最小路程. 直接状压dp就好了. #include < ...
- UVA10296 Jogging Trails(中国邮递员问题)(欧拉回路、一般图最大权匹配 / 状压DP)
整理的算法模板合集: ACM模板 目录 思路 UVA10296 Jogging Trails 题目翻译: 给你n个点,m条无向边,每条边有一定的距离数值,构造成一个连通图.问从任意一点出发,遍历所有的 ...
- POJ 2411 Mondriaan‘s Dream(最清楚好懂的状压DP讲解)(连通性状态压缩DP)
poj 2411 Mondriaan's Dream(最清晰的状压DP解析) 闫氏DP大法好 我们这里是一列一列地来,因为是一个棋盘性的状态压缩DP,从哪个方向都一样 摆放的小方格总方案数 等价于 横 ...
- 【每日DP】day2、P1879 [USACO06NOV]Corn Fields G玉米地(状压DP模板题)难度⭐⭐⭐★
昨天的每日DP我还在写01背包,今天就到状压DP了,真刺激. P1879 [USACO06NOV]Corn Fields G 题目链接 输入 2 3 1 1 1 0 1 0 输出 9 一道简单的状压D ...
最新文章
- 如何将txt格式的数据导入到MATLAB中,并绘制图线
- 售前工程师的成长(五)---一个老员工的经验之谈
- Echarts的入门
- Qt实现应用程序单实例运行--LocalServer方式
- 为什么说 Serverless 是云的未来?
- Tomcat架构解析之3 Connector NIO
- careercup-高等难度 18.6
- 255.0.0.0子网掩码相应的cidr前缀表示法是?_六十四、前缀,后缀,中缀表达式转化求值问题...
- window 与 linux 之间文件传输
- Asp.Net请求原理and页面生命周期(转)
- MSCRM4.0商机移除价目表引起的问题
- 电信基础设施共建共享
- 【JSP教程】JSP期末考试复习要点大纲
- Ubuntu 11.04上安装jdk1.6+oracle 11g笔记
- 如何在pe里加载阵列卡驱动_PE添加RAID驱动的方法
- 计算机终端维护组织结构,信息部组织架构及人员编制 Manning GuideOrganization Chart...
- ionic 环境搭建,运行项目到浏览器,android手机,模拟器
- 推荐一组用过好几年的非常稳定的dns
- frame切换/窗口切换
- 将标准时间转成时间戳