题解网上一搜一大坨的,不用复述了吧. 只是觉得网上dp方程没多大问题,但是状态的表示含义模糊.不同于正常哈密顿路径求解,状态表示应当改一下. 首先定义一次移动为从一个点经过若干个点到达另一个点,则$f[S][i]$个人认为应当表示经过若干次移动,每次移动的终点状态记为$1$,由此构成的集合$S$,也就是说,每次移动的中间路过点都不算在内.$i$是最后一次移动的终点. 下面重点解决两个问题: 为什么不记路过点,状态表示仍然是对的? 不记路过点,走过的一条路,必然可以通过相同的一步一步走的路径把每一…
dp[i][j][k] i代表此层用的状态序号 j上一层用的状态序号 k是层数&1(滚动数组) 标准流程 先预处理出所有合法数据存在status里 然后独立处理第一层 然后根据前一层的max推下一层 由于最多只有60多种状态 所以这其实就是个大暴力 其实还不慢 关于为什么要反义输入地图 因为我懒得写一个地图匹配状态函数了 所以直接让地图反义匹配状态 应该算是比较简单的状压DP 然而我还是写残了WA了两次orz #include <iostream> #include <strin…
题目大意: 输入n,有n个地方(1~n)需要送pizza pizza点为0点 接下来n+1行每行n+1个值 表示 i 到 j 的路径长度 输出从0点到各点送pizza最后回到0点的最短路(点可重复走) Sample Input 30 1 10 101 0 1 210 1 0 1010 2 10 00 Sample Output 8 #include <bits/stdc++.h> #define INF 0x3f3f3f3f using namespace std; ][],dp[][]; /…
题目链接:http://csustacm.com:4803/problem/1016 题目: 思路:状压dp+最短路,比赛的时候有想到状压dp,但是最短路部分写挫了,然后就卡死了,对不起出题人~dis[i][j]表示状态i下目的地为j时的最短路. 代码实现如下: #include <set> #include <map> #include <queue> #include <stack> #include <cmath> #include <…
Hie with the Pie Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3160   Accepted: 1613 Description The Pizazz Pizzeria prides itself in delivering pizzas to its customers as fast as possible. Unfortunately, due to cutbacks, they can affo…
C - Hie with the Pie Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Appoint description:  System Crawler  (2014-05-15) Description The Pizazz Pizzeria prides itself in delivering pizzas to its customers as…
题面传送门 注意到这题中宝藏 \(+\) 炸弹个数最多只有 \(8\) 个,故考虑状压,设 \(dp[x][y][S]\) 表示当前坐标为 \((x,y)\),有且仅有 \(S\) 当中的物品被包围在凸多边形内部所走过的最少步数. 考虑转移,枚举与 \((x,y)\) 相邻的点 \((x',y')\).但是 \(S\) 的变化可能有些棘手.这里有一个结论,对于某一点 \((x,y)\),任意引出一条射线,如果它与多边形有奇数个交点,那么 \((x,y)\) 就在多边形内部.由于这里引出的射线可以…
题目链接 BZOJ2595 题解 著名的斯坦纳树问题 设\(f[i][j][s]\)表示点\((i,j)\)与景点联通状况为\(s\)的最小志愿者数 设\(val[i][j]\)为\((i,j)\)需要的志愿者数 有两种转移 一种是自己转移 \[f[i][j][s] = min\{f[i][j][e] + f[i][j][\complement_s e] - val[i][j]\}\] 一种是由周围转移过来 \[f[i][j][s] = min\{f[i][j][s] + f[x][y][s]…
题目链接:http://poj.org/problem?id=3311 Hie with the Pie Time Limit: 2000MS   Memory Limit: 65536K Total Submissions:12225   Accepted: 6441 Description The Pizazz Pizzeria prides itself in delivering pizzas to its customers as fast as possible. Unfortuna…
题意: 思路:状压DP入门题 #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #include<iostream> #include<vector> #include<map> #include<set> #define oo 1000000000 #define N (1<<12)-1 using n…