弱化规约就是指,对于原问题F,先考虑一个弱化版问题F'
如果解决F'的复杂度是O(n),那么F'一定不会优于F
通常的,如果一个算法G能解决F和F',但是一个能解决F'的算法不能解决F,那么F'比F要弱。
一般弱化问题不能丢掉关键的限制,例如你把树上DP变成图上DP什么的奇怪的转化,弱化需要启发性。
先考虑树的情况。
发现子树直接拨叶子就可以了,深度为1的子树,偶数边两两配对,如果最后剩下一个就把它的父亲也带走即可。
回到图的情况
然后如果是dfs树,他是没有横插边,只有返祖边的。
返祖边也两两配对,或者带走这个点的连向父亲的边就行。
先弱化到树
如果钦定了一种奇偶度数方案,考虑树的情况,发现选择方案是唯一的。
加上返祖边,发现返祖边可以随便决定,所以
多个连通块直接背包即可
考虑每个子图的哈密顿环数量就是答案,考虑用这个DP