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

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 閱讀(267) 評論(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>
            亚洲一区二三| 久久国产精品久久国产精品| 欧美成人免费在线观看| 亚洲国产日韩欧美在线动漫| 欧美国产高潮xxxx1819| 欧美电影免费网站| 国产欧美精品一区二区色综合| 午夜激情久久久| 欧美一区二区福利在线| 在线观看欧美精品| 亚洲日本免费| 欧美午夜视频在线观看| 久久本道综合色狠狠五月| 欧美在线视频不卡| 亚洲六月丁香色婷婷综合久久| 日韩一级二级三级| 好吊一区二区三区| 亚洲国产精品成人va在线观看| 欧美日韩一区综合| 久久久久久亚洲精品不卡4k岛国| 免费在线看一区| 亚洲欧美精品一区| 久久久一区二区三区| 一区二区三区免费观看| 欧美一区亚洲| 99天天综合性| 久久av一区二区三区| 日韩视频中文| 久久gogo国模裸体人体| 一区二区三区四区五区精品视频 | 91久久在线播放| 国产精品久久久久三级| 欧美ed2k| 国产精品一区免费视频| 亚洲国产成人久久| 国产欧美日韩综合一区在线观看 | 亚洲小说春色综合另类电影| 久久成人羞羞网站| 亚洲中字黄色| 欧美二区在线观看| 久久精品国产综合| 欧美午夜精品久久久久久人妖 | 麻豆乱码国产一区二区三区| 欧美日韩性视频在线| 欧美mv日韩mv国产网站| 国产精品一页| 日韩亚洲欧美一区| 亚洲精品影院| 久久一本综合频道| 久久裸体视频| 国产日韩欧美精品在线| 亚洲久久成人| 亚洲精品一二区| 久久久夜夜夜| 麻豆freexxxx性91精品| 国产主播喷水一区二区| 亚洲视屏一区| 亚洲一区二区视频| 欧美色播在线播放| 亚洲免费精彩视频| 一区二区三区回区在观看免费视频| 老司机亚洲精品| 欧美+日本+国产+在线a∨观看| 精品99视频| 久久裸体艺术| 欧美不卡一区| 亚洲国产成人精品久久| 久久夜色精品亚洲噜噜国产mv| 久久欧美中文字幕| 一区二区三区在线免费观看| 久久精品国产久精国产思思| 久久女同精品一区二区| 精品动漫一区二区| 另类激情亚洲| 亚洲国产精品va在线看黑人动漫 | 国产无一区二区| 午夜欧美不卡精品aaaaa| 久久精精品视频| 狠狠色香婷婷久久亚洲精品| 久久久亚洲成人| 亚洲第一页中文字幕| 日韩视频国产视频| 国产精品扒开腿做爽爽爽软件| 一区二区三区精品国产| 欧美制服丝袜| 亚洲电影一级黄| 欧美精品一区二区三| 一本色道久久加勒比精品 | 国产亚洲福利| 久久久久免费观看| 亚洲欧洲在线看| 午夜精品视频在线观看| 国产一区二区黄色| 欧美高清在线| 亚洲欧美国产精品桃花| 免费久久99精品国产| 夜色激情一区二区| 国产午夜精品视频免费不卡69堂| 久久久久99| 夜夜嗨av一区二区三区四区| 久久大逼视频| 亚洲伦理在线免费看| 国产精品视频久久久| 久久综合久色欧美综合狠狠| 亚洲美女在线国产| 美女脱光内衣内裤视频久久影院 | 亚洲精品国产精品国自产在线| 欧美色中文字幕| 久久久久看片| 一本久久知道综合久久| 模特精品裸拍一区| 亚洲欧美国产三级| 亚洲高清在线观看一区| 国产精品免费看| 欧美成人综合在线| 久久不见久久见免费视频1| 亚洲美女诱惑| 男人的天堂亚洲在线| 欧美亚洲视频在线观看| 亚洲免费观看高清完整版在线观看| 国产精品毛片在线| 欧美日韩小视频| 美女网站久久| 久久久777| 小辣椒精品导航| 亚洲视频你懂的| 亚洲精品在线免费观看视频| 欧美不卡福利| 老司机一区二区| 久久精品国产一区二区电影| 亚洲欧美国产高清| 99在线热播精品免费| 亚洲理伦在线| 亚洲精品乱码久久久久久久久| 在线成人中文字幕| 好吊一区二区三区| 狠狠色狠狠色综合日日小说| 国产女精品视频网站免费| 欧美日一区二区三区在线观看国产免 | 中文av字幕一区| 欧美高清视频免费观看| 久久亚洲欧洲| 老鸭窝毛片一区二区三区| 亚洲一区中文| 亚洲午夜久久久久久久久电影网| 亚洲精品亚洲人成人网| 亚洲精品美女在线观看| 91久久夜色精品国产九色| 亚洲黄网站在线观看| 亚洲激情视频在线| 亚洲精品一二三区| 一个色综合导航| 亚洲视频一区二区| 亚洲小少妇裸体bbw| 亚洲欧美日韩另类| 欧美一区二区国产| 久久久伊人欧美| 欧美va天堂在线| 亚洲国产一区二区三区青草影视| 91久久极品少妇xxxxⅹ软件| 亚洲精品乱码久久久久| 一区二区三区久久久| 亚洲资源av| 久久久久久久成人| 欧美国产亚洲另类动漫| 欧美精品一区二区三区高清aⅴ| 欧美日韩性生活视频| 国产欧美1区2区3区| 精品99一区二区三区| 亚洲精品美女在线观看| 亚洲一区二区黄| 久久美女性网| 亚洲人久久久| 午夜精品一区二区三区在线| 久久另类ts人妖一区二区| 欧美日韩性视频在线| 国产三级欧美三级| 亚洲三级电影全部在线观看高清| 亚洲午夜高清视频| 久久久一二三| 一区二区欧美国产| 久久都是精品| 欧美三级资源在线| 伊人久久婷婷| 亚洲欧美日韩综合aⅴ视频| 久久亚洲精品伦理| 99在线精品免费视频九九视| 久久精品国产免费看久久精品| 欧美精品一区二区三区很污很色的| 国产精品伦一区| 亚洲精品少妇30p| 久久国产黑丝| 日韩亚洲成人av在线| 久久网站热最新地址| 国产欧美一区二区精品仙草咪| 亚洲精品资源美女情侣酒店| 久久婷婷麻豆| 亚洲欧美日韩一区二区三区在线| 你懂的亚洲视频| 国产一区二区三区的电影|