题解 P3786 【萃香抱西瓜】
最短路作为广为人知的算法,肯定不可能考模板的啦(毒奶一口)
今天看到p3786 萃香抱西瓜:
前两天的胡策题,(毒瘤出题人,根本不理解!!!)
在一天半之后,我终于" 做 "掉了他;
其实呢这个题并不是多么毒瘤,看到h ,w 只有5!!!, 需要杀的人小于10个!!
你有什么想法呢!!
状压就完了
主题思路: 状压+spfa;
关键变量:
dis[x][y][t][S] //前三维不多说最后一维记状态; 有了这个!! 你也可以想到vis数组的魔改版; vis[x][y][t][s];
这个思路呢你可以去做做 (bfs好题p1301 魔鬼之城)
空间够大就用空间来换时间!!!
并且还能保证你答案的正确性!!
血赚不亏;
剩下的需要一个map[x][y][t] 来记录点
注意不能抱走的西瓜 我们可以定义一个wm_big随便开一个值只要不会和小西瓜重复
剩下的可以抱走的西瓜就可以按照输入的顺序来编号cnt
然后map[x][y][t]=(1<<(cnt-1))
注意位运算的顺序
剩下的就可以根据楼上神仙们的题解代码来理解了 我就不贴了;