欢迎大家移步去看这篇写的更详细的文章

先献上陈丹琦的大作http://www.docin.com/p-46797997.html
最近学习了这个与Dancing Links一样优美的插头DP (私以为这个算法将成为和去年的Dancing Links一样的热门算法)
简单回路(2进制),哈密顿回路(3进制),再到简单路径(4进制),广义路径(5进制),每深入一层研究,就对这个算法有着更深刻的理解与着迷
同以往一样专题,下边分析几道题目:

多条回路

Eat the Trees

可以说是最最入门的插头DP题目,只要求用回路把所有格子全部走遍,所以都不用分左插头右插头,能合并就合并

哈密顿回路

Formula 1

论文上的入门题,求有多少回路,论文已经介绍了很详细,这里不再解释
由于是模板题,自然要大大的优化下,交了N遍,效率终于排到了rank1

Tony’s Tour

楼教主的男人八题,同上,论文上有构成回路的方法,解法与上题一模一样

Pipes

这题加上了权值,转移的时候很简单,DP处只要换成加权值以及比较大小就OK啦

Tour in the Castle

M很大,要很敏感的联想到矩阵,每列之间的转移建出方程,然后建矩阵求解,此题预处理只花了40MS,大部分时间用在矩阵上
下边是对于每个N所构成的K阶矩阵
2.2
3.4
4.7
5.20
6.33
7.114

Plan

HDOJ月赛刚刚出的题,我也正是因为比赛钱要测试这题才去学了这个算法
此题构图和教主那题差不多,差别是不要走过所有的格子,所以可以让有些格子没有插头

简单路径

Manhattan Wiring

找两条不相交的路,由于是要找最小的路,所以一些成环的一定是多余的路径,一定会被更新掉,所以就不必分左插头右插头,并且独立插头的位子都已经标好了,所以只要用3进制来表示是2的插头还是3的插头就OK了

Beautiful Meadow

cpg的神题,我能找到唯一一道简单路径的题,用论文中4进制表示的方法就能过,不过数据不是很强,我一开始错误的程序都过了
AC的同学请再试试下边这组数据
2 7
1 1 1 0 1 1 1
1 0 1 0 1 0 1
答案是5,我错误的程序跑出来是8

广义路径(由于用到5进制,四种插头,多了个中间插头,所以要分25种情况讨论,省赛迫在眉睫,暂时没时间搞这个了,等以后有空再来填这个大坑…..虽然用最小表示法的话可以较为简单的表示,但是效率不够高)
生成树计数http://www.box.net/shared/k5pp5ixc84
Delicious Cake http://www.acm.cs.ecnu.edu.cn/problem.php?problemid=1739
Black and Whit
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=17&page=show_problem&problem=1513
Rocket Mania http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2125
Rocket Mania Plus http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2126
Maze Statistics
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=17&page=show_problem&problem=1472
2010Harbin finals E Channel http://acmicpc-live-archive.uva.es/nuevoportal/

还是等完成了上边这个大坑后再献上全部模板….

Popularity: 23% [?]