青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 7,comments - 3,trackbacks - 0

 1871: Jogging Trails


ResultTIME LimitMEMORY LimitRun TimesAC TimesJUDGE
3s8192K5917Standard
Gord is training for a marathon. Behind his house is a park with a large network of jogging trails connecting water stations. Gord wants to find the shortest jogging route that travels along every trail at least once.

Input consists of several test cases. The first line of input for each case contains two positive integers: n <= 15, the number of water stations, and m < 1000, the number of trails. For each trail, there is one subsequent line of input containing three positive integers: the first two, between 1 and n, indicating the water stations at the end points of the trail; the third indicates the length of the trail, in cubits. There may be more than one trail between any two stations; each different trail is given only once in the input; each trail can be travelled in either direction. It is possible to reach any trail from any other trail by visiting a sequence of water stations connected by trails. Gord's route may start at any water station, and must end at the same station. A single line containing 0 follows the last test case.

For each case, there should be one line of output giving the length of Gord's jogging route.

Sample Input

4 5
1 2 3
2 3 4
3 4 5
1 4 10
1 3 12
0

Output for Sample Input

41





古老的圖論問題:中國郵遞員問題,曾經在某個圖論書上看過,之后就沒有之后了......
題目大意很簡單:給一無向網絡N,從點1出發,每條邊至少進過一次后回到點1。
思路:(copy別人的)
1. 先解釋下"度"的概念, 對于無向圖中某結點, 它和n條邊相連, 就稱它的度為n. (有向圖還分出度入度, 這里簡化了, 不管)

2. 參考歐拉回路的概念, 無向圖存在歐拉回路, 當前僅當所有點度數均為偶數. 
證明比較簡單, 因為走完一條回路, 對于所有點均進去一次, 出來一次. 故, 對于任意點的度數,都是成對的在"消耗".

3. 題中所描述的回路, 有重復經過某邊, 這沒關系. 現在假設郵遞員按題目要求走了一條最短的回路P.
那么, 把P所有重復經過的邊, 拆開. 即假設三次經過邊L, 則我們可以人為的在原圖上多加兩條邊, 對于所有重復經過的邊都這樣做. 修改后的圖記為G2. (原圖為G)
對于G2, 郵遞員走的回路, 即為此圖的歐拉回路. 這是重點. (其實很好想, 因為G2中的每條邊都僅被郵遞員走過一次.)

4. 原問題就可以轉化為, 如何把G添加一些邊, 變成G2
而G2所有點度數均為偶數(這是肯定的, 因為G2存在歐拉回路)
故轉化為, 如何把G中某些邊復制x次, 從而消滅G中的奇點(度數為奇數的點).

5. 可能有點暈, 舉個例子
圖G只有兩個點a和b, 一條邊連著ab, 那么ab均為奇點, 要消滅掉, 就把ab之間連線復制一次(因為你不可能隨便給它加一條不存在的..)
然后變成兩條邊連著ab. 從G2的角度看, 是歐拉圖了, 對應成G, 就是把這條邊走了兩次而已.

6. 奇點總是成對的被消滅, 就算兩個奇點不互通, 而是經過很多點才能連通, 那也要連出一條路徑來, 以消滅這對奇點.

7. 那就好辦了.把所有奇點找出來, 然后配對, 如果某種配對方式代價最小, 即為所求.
這里還要用上floyd, 求最短路

8. 配對算法也要比較好, 裸著配大概會超時, 這個懶得說了.. 如果不會, 直接看代碼吧.

給點扼要注釋, deg記錄度數, mp記錄最短路. u記錄遞歸時各點是否已配對. (偶點直接被記為已配對. 遞歸時只路過)
dfs返回在當前此種u記錄的配對情況下, 把未配對的匹配完, 最小代價是多少

還是提一句吧, 每次配對時, 配對中的第一個可以直接取隊列中的第一個沒有配對的元素(其實隨便取都行). 第二個, 循環一次剩下的即可.
因為配對是不關心順序的, 所以第一個可以想怎么取都行. 為了方便, 就第一個了.

代碼:
#include <cstdio>
#include 
<cstring>
#include 
<cmath>
#include 
<iostream>
#define N 17
#define inf 1 << 20
using namespace std;

int deg[N], map[N][N], u[N];
int ans, n, m;

int min(int a, int b)
{
    
if (a > b) return b;
    
return a;
}

int slove()
{
    
int i, j, rnt = inf;
    
for (i = 0; i < n; ++i)
    
if (!u[i]) break;
    
if (i == n) return 0;
    u[i] 
= 1;
    
for (j = i + 1; j < n; ++j)
    {
        
if (!u[j]) u[j] = 1, rnt = min(rnt, slove() + map[i][j]), u[j] = 0;
    }
    u[i] 
= 0;
    
return rnt;
}

int main()
{
    
while (scanf("%d"&n) && n)
    {
        memset(u, 
0sizeof(u));
        memset(deg, 
0sizeof(deg));
        
for (int i = 0; i < n; ++i)
            
for (int j = 0; j < n; ++j)
            map[i][j] 
= inf;
        ans 
= 0;
        scanf(
"%d"&m);
        
for (int i = 1; i <= m; ++i)
        {
            
int a, b, c;
            scanf(
"%d%d%d"&a, &b, &c);
            ans 
+= c;
            a
--; b--;
            deg[a]
++;
            deg[b]
++;
            map[a][b] 
= map[b][a] = min(map[a][b], c);
        }
        
for (int k = 0; k < n; ++k)
            
for (int i = 0; i < n; ++i)
                
for (int j = 0; j < n; ++j)
                {
                    map[i][j] 
= min(map[i][j], map[i][k] + map[k][j]);
                }
        
for (int i = 0; i < n; ++i)
        
if (deg[i] % 2 == 0) u[i] = 1;
        printf(
"%d\n", ans + slove());
    }
    
return 0;
}
posted on 2011-10-15 22:13 LLawliet 閱讀(260) 評論(0)  編輯 收藏 引用 所屬分類: 圖論
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久久久久欧美精品| 久久精品欧美日韩| 亚洲国产欧美久久| 麻豆精品国产91久久久久久| 亚洲电影在线免费观看| 亚洲福利av| 欧美日韩极品在线观看一区| 亚洲男人的天堂在线| 亚洲专区在线视频| 国产亚洲aⅴaaaaaa毛片| 另类综合日韩欧美亚洲| 欧美精品三级| 午夜精品福利在线| 久久精品视频亚洲| 一区二区三区四区五区精品| 亚洲欧美日韩综合aⅴ视频| 伊人狠狠色丁香综合尤物| 亚洲黄色在线观看| 国产精品亚洲激情| 亚洲福利视频专区| 国产精品电影观看| 蜜臀久久99精品久久久画质超高清| 免费一级欧美片在线观看| 亚洲欧美国内爽妇网| 久久伊人免费视频| 亚洲影视在线播放| 久久综合亚洲社区| 亚洲欧美日韩一区二区在线| 久久一区中文字幕| 性欧美暴力猛交69hd| 欧美成人官网二区| 久久久99国产精品免费| 欧美视频免费在线观看| 欧美成人情趣视频| 国产精品专区h在线观看| 亚洲精品国产精品国自产观看| 国产专区欧美精品| 亚洲一级片在线观看| 99国产精品久久久| 久久久久久亚洲综合影院红桃| 亚洲欧美日韩中文播放| 欧美国产日韩在线| 美女性感视频久久久| 国产日韩欧美精品| 亚洲一区二区三区涩| 夜色激情一区二区| 欧美激情无毛| 亚洲福利国产| 亚洲激情一区二区三区| 久久久免费av| 另类激情亚洲| 狠狠色狠色综合曰曰| 午夜亚洲一区| 欧美一区二区三区四区高清| 国产精品狠色婷| 99国产精品99久久久久久| 亚洲精品一区二区在线观看| 久久综合亚州| 亚洲国产精品123| 亚洲黄色片网站| 欧美 亚欧 日韩视频在线| 免费观看日韩av| 亚洲国产影院| 欧美另类极品videosbest最新版本| 欧美高清在线视频| 亚洲人成啪啪网站| 欧美风情在线观看| 亚洲人成7777| 午夜国产精品影院在线观看| 国产精品女人久久久久久| 亚洲欧美国产高清va在线播| 久久久av水蜜桃| 禁久久精品乱码| 免费在线日韩av| 亚洲日韩成人| 亚洲欧美影院| 激情综合视频| 欧美激情2020午夜免费观看| 亚洲乱码国产乱码精品精可以看 | 亚洲激情网址| 欧美高清影院| 亚洲午夜在线观看| 久久精品免费电影| 亚洲高清二区| 国产精品va在线播放我和闺蜜| 亚洲欧美久久| 欧美韩国日本一区| 亚洲一区在线播放| 国产综合欧美| 欧美久色视频| 欧美一区二区免费视频| 欧美大片免费观看| 亚洲视频中文字幕| 黄色日韩在线| 欧美午夜欧美| 久久综合九色| 亚洲香蕉网站| 亚洲国产精品视频| 欧美一级欧美一级在线播放| 亚洲黑丝在线| 国产日韩欧美一区二区| 欧美另类久久久品| 久久国内精品自在自线400部| 亚洲激情小视频| 久久久久久伊人| 亚洲一区二区三区四区中文| 极品少妇一区二区三区精品视频| 欧美丝袜第一区| 毛片一区二区三区| 性欧美超级视频| 日韩亚洲欧美在线观看| 欧美1区2区| 久久久久久网| 午夜国产精品视频| 一本色道久久综合亚洲精品小说 | 国产精品视频福利| 欧美精品日韩一区| 麻豆精品精华液| 久久精品72免费观看| 亚洲一级二级在线| 一本到高清视频免费精品| 欧美高清在线视频| 麻豆av一区二区三区久久| 欧美一区二区三区男人的天堂 | 久久欧美中文字幕| 午夜精品在线| 亚洲一区二区三区四区中文 | 亚洲伊人久久综合| 99亚洲一区二区| 亚洲国产一区二区a毛片| 国产一区二区三区免费在线观看 | 国产中文一区| 国产一区二区三区日韩| 国产精品久久久久久久app| 欧美日韩你懂的| 欧美日韩国产一区二区三区地区 | 国产精品夜夜夜| 国产伦精品一区二区三区免费| 欧美网站在线| 欧美亚韩一区| 国产精品美女主播| 国产精品久久网| 国产日本欧美一区二区三区在线| 国产精品视频免费观看| 国产精品夜色7777狼人| 国产视频精品xxxx| 黄色成人小视频| 亚洲承认在线| 日韩视频在线一区二区| 亚洲理论在线| 亚洲婷婷国产精品电影人久久| 亚洲亚洲精品在线观看 | 影院欧美亚洲| 亚洲人午夜精品免费| 99精品免费网| 亚洲在线免费观看| 欧美一区二区三区免费视频| 久久久免费av| 亚洲国产日韩欧美在线图片| 亚洲免费观看视频| 午夜精品久久久久久| 久久精品亚洲一区二区| 欧美成人综合网站| 国产精品二区在线| 影音先锋另类| 在线一区二区日韩| 久久久精品欧美丰满| 欧美国产一区视频在线观看 | 久久久久久久激情视频| 欧美激情欧美狂野欧美精品| 99在线热播精品免费99热| 午夜精品美女自拍福到在线 | 欧美中文在线观看国产| 欧美成人免费大片| 国产精品视频专区| 亚洲国产精品久久久久久女王| 夜夜爽www精品| 久久久综合网站| 日韩视频免费观看高清完整版| 性久久久久久久久| 欧美福利视频一区| 国产欧美一区二区三区久久| 亚洲人成网站精品片在线观看 | 日韩午夜电影在线观看| 欧美一区激情| 亚洲伦理久久| 美女黄毛**国产精品啪啪| 国产精品美女主播在线观看纯欲| 亚洲国产精品成人精品| 欧美一区二区三区在线看 | 亚洲欧美在线磁力| 亚洲狠狠丁香婷婷综合久久久| 亚洲综合99| 欧美日韩在线一区| 亚洲精品日日夜夜| 久久一区二区三区超碰国产精品| 亚洲无限av看| 欧美日韩高清一区| 亚洲精品日韩在线观看| 老司机成人在线视频|