欧拉回路:
每条边只走一次
欧拉回路判定:仅有两个奇数度点,或没有奇数度点。
找欧拉回路:
- DFS搜索,POJ1780,相同位作为边,不用位作为点,稠密图,DFS容易得到结果
- Fleury算法,在每个dfs状态中,能不走桥就不走桥,即可。
哈密顿回路:
每个点只走一次
哈密顿路判定:目前还没有成熟的哈密顿回路充要条件。
POJ2288
岛屿和桥
状压DP:
dp[status][lastA][lastB],值为当前状态的最大权。
status状态压缩每个点是否选取,lastA,lastB分别为路径中最后两个点,最后两个点决定新点是否为三角形。
另维护一个way[status][lastA][lastB],表示当前状态的路径数量。