
状压dp
wtcl
这个作者很懒,什么都没留下…
展开
-
最短哈密顿路
状压dp(位运算应用)#include<cstdio>#include<iostream>#include<cstring>using namespace std;#define ll long longint map[30][30];int dp[1<<21][21];int main(){ int n; cin&...原创 2019-11-24 23:41:30 · 257 阅读 · 0 评论 -
炮兵阵地 POJ - 1185
状压dp因为与前两行都有关,所以需要多开一维dp[i][k][j]:第i行为j,第i-1行为k;dp[i][k][j]=max(dp[i][k][j],dp[i-1][h][k]+num[j]);#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>...原创 2019-09-19 20:44:30 · 89 阅读 · 0 评论 -
A sample Hamilton path HDU - 3538
题目大意:求从0开始的最短哈密顿路径,并且要求了某些点的先后顺序题目分析:哈密顿路径:由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次(百度百科)状压dp状态:dp[i][j]:i状态以j结尾;转移方程:dp[i|(1<<k)][k]=min(dp[i|(1<<k)][k],dp[i][j]+dis[j][k]) 枚举下一个到达的点。#include&...原创 2019-09-22 10:29:28 · 147 阅读 · 0 评论 -
Corn Fields POJ - 3254
基本状压dpdp[i][j] :第i行 j状态有几种;转移方程:dp[i][k]=(dp[i][k]+dp[i-1][j])%mod;#include<cstdio>#include<cstring>#include<algorithm>#include<string>#include<iostream>#define m...原创 2019-09-23 19:59:02 · 106 阅读 · 0 评论 -
Tunnels HDU - 4856
题意:给你一张n*n的图,其中"."为可走,”#"为不可走,再给你m条通道的入口和出口(代表单向),通道直接穿过不需要时间,点可到相邻的点,话费1个单位时间,问你以任意个通道入口为起点,走完所有通道而且每个通道只走一次,最少需要多少时间。分析: 这题相当于裸的旅行商问题,只需要bfs预处理每个通道的出口到其他通道的入口的最短距离,然后状压dp搞定。#include <iostream&g...原创 2019-09-23 20:01:31 · 160 阅读 · 0 评论 -
God of War HDU - 2809
不需要记录最后一个人。#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;struct hero{ int a,d,h,l; int e;}dp[(1<<20)+1];struct node{...原创 2019-09-26 21:56:39 · 156 阅读 · 0 评论