lightoj1086 - Jogging Trails(状态压缩dp)
来源:互联网 发布:grub命令引导linux 编辑:程序博客网 时间:2024/05/05 14:45
lightoj1086 - Jogging Trails(状态压缩dp)
一道有点小思维的状态压缩dp
题意:给出n个点,m条边的一幅无向图,n<=15,m<=3000。问,从任意点出发,每条边至少走过一次,再回到起点,至少要走多少路。
解题思路:问题问的是,从起点出发,每条边至少走一次,然后又要回到这个点,那么,每个点也肯定至少被走到一次吧,这不就是一个欧拉回路吗?也就是说,这些边至少用到一次,去构造一个欧拉回路至少要多长距离咯。要构成欧拉回路,条件是每个点的度数为偶数,既然每条边都至少要走一次,那么就先把每条边加进来一次,然后统计一下加完之后的度数。根据图论握手定理的推论,无向图的奇度点必然是偶数个(想想也知道了),那么我们就每次拿出奇数度的两个点,构造一条新的边,把这两个点的度变为偶数,直到所有的点都是偶数度为止,这里用状态压缩就行了。然后就是两个奇度点之间新的一条边怎么构造了,很简单,floyd跑一遍就好了。这条新构造的边必然是最短的,而新加进来的边,也不会改变这条路径上的其他的度得奇偶性(路径上的其他点肯定是一进一出)。
代码:
- lightoj1086 - Jogging Trails(状态压缩dp)
- LightOJ1086-Jogging Trails -状态压缩,欧拉回路
- lightoj1086 Jogging Trails
- POJ 2404 Jogging Trails (中国邮递员问题,状态压缩DP)
- LightOJ - 1086 Jogging Trails(欧拉+状态压缩)
- 1086 - Jogging Trails (欧拉回路+dp)
- uva 10296 - Jogging Trails (中国邮路问题 状压dp)
- Light OJ 1086 Jogging Trails (Floyd+状压DP)
- poj 2404 Jogging Trails 状压dp
- POJ-2404 Jogging Trails (中国邮递员)
- Light oj 1086 - Jogging Trails(状压dp 将图变成欧拉图)
- JOJ1871:Jogging Trails
- FZU1009 Jogging Trails
- POJ 2404 Jogging Trails
- POJ2404:Jogging Trails
- UVA - 10296 Jogging Trails (中国邮路问题)
- POJ 2404 Jogging Trails 笔记
- [中国邮路问题 欧拉回路 最短路 一般图匹配||状压DP] FZU 1009 Jogging Trails
- STM32 时钟学习
- 【练习向】jQuery基础教程第四版课后练习——Book05_jQuery_操作DOM
- 【初学者常见问题】深入理解“==”和equals()
- 关于百度地图和高德地图,关于地图坐标系
- dwr session error
- lightoj1086 - Jogging Trails(状态压缩dp)
- Impala与Hive的比较
- 在C++项目中如何使用ICTCLAS工具包
- iOS框架研究 之 UIResponder 可以接收事件的对象(一)
- Binding对数据的校验
- ClickOnce部署和WindowsInstaller部署
- hadoop权威指南中的ncdc数据下载地址及命令
- 关于Field类的getDeclaredFields和getField两方法
- applicationContext 中 xmlns 与 xsi:schemaLocation 含义