HDU 4640 状态压缩DP 未写完
摘要:
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4640解题思路:首先用一个简单的2^n*n的dp可以求出一个人访问一个给定状态的最小花费,因为这i个人是等价的,所以用dp[i][mask]表示i个人跑完mask这个状态的最小花费,所以首先枚举集合mask,对于dp[i][mask],枚举mask的子集v,dp[i][mask]可以由dp[1][v],dp[i-1][mask^v]转移过来,注意这里用来合并的集合是不能有重复的,这个类似背包……这样就可以算出对于每个状态三个人访问完的最小花费,之后对于给定的需要访问的状态,枚举包含这个给定状态的集合 阅读全文
posted @ 2013-08-03 21:38 allh123 阅读(357) 评论(0) 推荐(0) 编辑