这道题很容易想到状压dp,首先跑一遍floyd求出各个点之间的最短路,然后dp。
状态是dp[i][j]表示状态为i(二进制,表示是否访问过每个点),在位置j时的最短路。
转移就是:dp[i][j]=min(dp[i-(1<<v)][u]+grid[u][v],dp[i][j]),其中v是当前位置,u是上一个状态的位置。
需要注意的是dp的顺序应该是由含1的个数少的二进制到1的个数高的二进制;由于最开始就在0位置,所以dp[(1<<n)-1][0]不可能被转移到,所以最后的答案应该是ans=min(ans,...
分类:
其他好文 时间:
2014-12-26 20:22:01
阅读次数:
260
题目地址:SDUT 3061
这题的比赛的时候的后台数据是错的。。。好坑啊。。。。就不吐槽出题人了。。
比赛的时候我的思路是错的,漏考虑了一种情况。应该把所有状态下的最短距离都要求出来,而我当时的思路是按照前面能选两个则选两个的贪心思路来状压,但是有的时候可以最多走奇数个并且没全走完,这种情况下就不对了。
正确思路是每次找两个没走过的状态,分成选一个和选两个两种情况来DP。然后最后找所有状态...
分类:
其他好文 时间:
2014-12-16 10:05:55
阅读次数:
123
给定一个m*n的方格子,要求用3*1的骨牌去覆盖,骨牌可以用横放或者竖放,问最终有多少种放置方式,将其铺满。分析:由于最多30行,每行最多9列,所以可以按行来dp,设计每行的状态从而进行转移,考虑每个骨牌放置对下一行的影响,共有0,1,2,3种方式,0对应横放或者竖放时最下面那个格子,此行对下一行没...
分类:
其他好文 时间:
2014-12-13 21:44:15
阅读次数:
152
http://www.lydsy.com/JudgeOnline/problem.php?id=1097首先还是我很sb。。。。想到了分层图想不到怎么串起来,,,以为用拓扑序搞转移,,后来感到不行。。。QAQ这种数据那么小,有明确的依赖性为嘛我想不到状压。。。(准确的说是没想到状压和分层图一起做。。...
分类:
其他好文 时间:
2014-12-13 13:21:48
阅读次数:
376
题目链接: BZOJ - 2004题目分析看到题目完全不会。。于是立即看神犇们的题解。由于 p#include #include #include #include #include using namespace std;const int MaxMap = 130 + 5, Mod = 3003...
分类:
其他好文 时间:
2014-12-13 09:33:04
阅读次数:
265
类似于前两天做的那个wordstack。状压的其实有时候爆搜+记忆化也差不多。
就是这个是要与之前的都重合,移位预处理要注意。
理解好第一个样例就行
/* ***********************************************
Author :bingone
Created Time :2014/12/9 22:48:56
File Name ...
分类:
其他好文 时间:
2014-12-12 00:05:26
阅读次数:
185
教主的遗产Time Limit: 1000 MSMemory Limit: 65536 KTotal Submit: 27(12 users)Total Accepted: 20(12 users)Rating:Special Judge:NoDescription恭送教主!教主在2012年7月19...
分类:
其他好文 时间:
2014-12-11 20:36:10
阅读次数:
242
Moving BricksTime Limit: 5000/2000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 724Accepted Submission(s): 280Problem...
分类:
其他好文 时间:
2014-12-10 22:36:31
阅读次数:
389
题目链接:点击打开链接
题意:大致就是邮递员要从0号 送快件,一共有n个地方,要求从0开始走完所有的节点在回到0的最短路径。先用Floyd跑出来最短路,然后就是一个裸TSP问题了
TSP:顾名思义,旅行商问题,就是从起点出发遍历n个城市在回到起点的最短路径,在n比较小的情况下状压是个比较好的办法,二进制0代表没访问该城市,反之亦然。所以一共有 2^n-1种状态, 设 dp[s][i] 代表当前...
分类:
其他好文 时间:
2014-12-06 21:37:45
阅读次数:
226
题目链接:HDU 5131 Little Zu Chongzhi's Triangles
题意:给出一些线段,在其中选出3根组成三角形,问用这些线段组成的所有三角形的最大面积是多少。
7
3 4 5 3 4 5 90
两个三角形是(3,3,4),(5,5,4)。
思路:N最大12,状态压缩,把所有可能组成的三角形存起来。A&B==0则说明A|B状态是有效的。
贪心也能过。。为什么?...
分类:
其他好文 时间:
2014-12-06 11:28:14
阅读次数:
170