hdu5067:Harry And Dig Machine
来源:互联网 发布:泰语发音软件 编辑:程序博客网 时间:2024/06/05 11:40
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5067
参考思路:根据所给矩阵,我们可以建立一个图,图的节点为石头数不为0的节点,还包括矩阵左上角对应的节点,所以节点数不超过11个,节点之间的距离为横坐标之差的绝对值加上纵坐标之差的绝对值,假设左上角的节点对应的编号为0,那么问题便转化成从第0个节点开始,遍历所有的节点,然后再返回到第0个节点的最短路径,根据我们对最短路径的了解,最短路径上的节点除了头尾节点相同外,不可能有节点编号相同的节点。由于节点数最多11个,所以可以用动态规划来求解,对于dp[i][j],i表示一个遍历状态,j表示这个遍历状态以第j个点结尾,比如dp[001101][2],表示这个遍历状态经过了第0个以及第2个、第三个节点,经过的先后顺序不用管,只需知道最后停留的节点,这里为第2个节点。
然后状态转移方程式为:dp[i][j] = min(dp[i][j], dp[i'][j']+distance(j', j) ),其中i = (i' | (1<<j')), j != j',最后答案为result = min(result, dp[(1<<n) - 1][i] + distance(i, 0),其中0<=i<n,n为节点数。
c++源码:
0 0
- hdu5067:Harry And Dig Machine
- hdu5067——Harry And Dig Machine
- hdu5067——Harry And Dig Machine(dfs+剪枝)
- hdu5067 Harry And Dig Machine(裸TSP问题 状压dp )
- Harry And Dig Machine
- Harry And Dig Machine HDU
- hdu 5067 Harry And Dig Machine
- 【BestCoder】 HDOJ 5067 Harry And Dig Machine
- hdu 5067 Harry And Dig Machine
- HDOJ 5067 Harry And Dig Machine
- HDU 5067 Harry And Dig Machine
- HDU 5067 Harry And Dig Machine
- hdu 5067 Harry And Dig Machine
- hdu 5067 Harry And Dig Machine(dp)
- hdu 5067 Harry And Dig Machine
- HDU 5067 Harry And Dig Machine (DFS)
- HDU 5067Harry And Dig Machine(暴力)
- HDU 5067 Harry And Dig Machine
- javascript基本语法实现功能
- dubbo之安装监控中心monitor
- 高性能序列化工具Google Protobuf的使用
- android handler使用
- Android预定义样式
- hdu5067:Harry And Dig Machine
- Adnroid_CountDownTimer倒计时_141028
- 启动和关闭数据库
- java web应用架构浅谈
- Linux Pthread 深入解析
- android SDK download
- 才学css做的作业
- [笔记] TSP问题状压DP求解 HDU-5067
- FFMPEG结构体分析 AVStream