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

糯米

TI DaVinci, gstreamer, ffmpeg
隨筆 - 167, 文章 - 0, 評論 - 47, 引用 - 0
數據加載中……

POJ 3189 Steady Cow Assignment 二分圖的多重匹配

思路:

這題完全不懂,看了這份大牛的解題報告
http://hi.baidu.com/winterlegend/blog/item/2411981e8fd0ed6bf724e45e.html
發現嗎的太牛逼了!

首先二分圖匹配,正常情況下,都是單個單個的點這樣匹配、
但是像這道題,右邊的點一個可以匹配好幾個左邊的點。也是用匈牙利算法,不過要做少少修改。

枚舉答案的時候,有兩種方法:
一個是移動區間的方法。復雜度O(B)。注意,只移動區間右邊的時候不用重新匹配,只需要接著上次沒匹配完的繼續匹配就行了
一個是二分法。復雜度 O(B lgB)
由于數據的問題,這兩種方法時間相差無幾。在 16ms 和 32ms 之間。

#include <stdio.h>

struct barn {
    
int link[1024], cnt, vis, cap;
}
;
struct cow {
    
int rank[32];
}
;

struct barn barns[32];
struct cow cows[1024];
int start, end, last_pos;
int N, B, tm;

int dfs(int c)
{
    
int i, j;
    
struct barn *b;

    
for (i = start; i <= end; i++{
        b 
= &barns[cows[c].rank[i]];
        
if (b->vis == tm)
            
continue;
        b
->vis = tm;
        
if (b->cnt < b->cap) {
            b
->link[b->cnt++= c;
            
return 1;
        }

        
for (j = 0; j < b->cap; j++)
            
if (dfs(b->link[j])) {
                b
->link[j] = c;
                
return 1;
            }

    }

    
return 0;
}


inline 
void init()
{
    
int i;

    
for (i = 1; i <= B; i++)
        barns[i].cnt 
= 0;
    last_pos 
= 1;
}


inline 
int match()
{
    
int i, j;

    
for (i = last_pos; i <= N; i++{
        tm
++;
        
if (!dfs(i))
            
break;
    }

    last_pos 
= i;
    
return i > N;
}


int main()
{
    
int i, j, ans;

    freopen(
"e:\\test\\in.txt""r", stdin);

    scanf(
"%d%d"&N, &B);
    
for (i = 1; i <= N; i++)
        
for (j = 1; j <= B; j++)
            scanf(
"%d"&cows[i].rank[j]);
    
for (i = 1; i <= B; i++)
        scanf(
"%d"&barns[i].cap);
    
#if 0
    
// O(B)
    ans = B;
    start 
= end = 1;
    
while (start <= B && end <= B) {
        init();
        
while (end <= B && !match())
            end
++;
        
if (end - start + 1 < ans)
            ans 
= end - start + 1;
        start
++;
    }

#else
    
// O(B*lgB)
    int l, r, m;

    l 
= 1;
    r 
= B;
    
while (l <= r) {
        m 
= (l + r) / 2;
        
for (start = 1; start <= B - m + 1; start++{
            end 
= start + m - 1;
            init();
            
if (match())
                
break;
        }

        
if (start == B - m + 2{
            
// failed
            l = m + 1;
        }
 else 
            r 
= m - 1;
    }

    ans 
= r + 1;
#endif

    printf(
"%d\n", ans);

    
return 0;
}

posted on 2010-04-26 15:34 糯米 閱讀(558) 評論(0)  編輯 收藏 引用 所屬分類: POJ

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧美美女| 欧美电影在线观看完整版| 性久久久久久久久久久久| 欧美日本网站| 亚洲一级黄色| 亚洲免费电影在线观看| 亚洲日韩中文字幕在线播放| 老牛影视一区二区三区| 香蕉久久a毛片| 午夜精品久久久久久久白皮肤| 亚洲精品一区久久久久久| 亚洲综合另类| 欧美日韩国产色综合一二三四| 久久国产毛片| 欧美亚洲专区| 久久久噜噜噜久噜久久| 欧美激情综合在线| 国产裸体写真av一区二区| 在线电影国产精品| 国产精品99久久久久久久久| 久久久精品动漫| 日韩视频在线观看| 久久久精品欧美丰满| 欧美日韩1234| 一区视频在线| 欧美一区2区三区4区公司二百 | 国产欧美综合在线| 亚洲激情成人网| 欧美一区二区精美| 亚洲国产一区二区三区高清 | 欧美大片第1页| 亚洲午夜电影| 欧美激情一区二区三区四区| 黄色成人免费观看| 午夜精品成人在线| 亚洲精品小视频| 久久人人爽国产| 国产精品天天看| 99亚洲精品| 欧美激情偷拍| 久久中文精品| 国内外成人免费激情在线视频网站 | 一区二区三区免费在线观看| 美女啪啪无遮挡免费久久网站| 99国产精品99久久久久久粉嫩| 麻豆成人在线播放| 黄色资源网久久资源365| 亚洲欧美日韩精品久久| 亚洲人成毛片在线播放女女| 美女黄毛**国产精品啪啪| 在线观看日韩专区| 美日韩精品免费| 久久国产免费| 黄色一区三区| 香蕉久久久久久久av网站| 夜夜嗨av一区二区三区中文字幕| 欧美二区视频| 亚洲精品欧洲| 亚洲国产精品一区二区尤物区 | 欧美少妇一区二区| 亚洲日本va午夜在线电影| 亚洲动漫精品| 亚洲午夜成aⅴ人片| 亚洲精品一区二区三区99| 免费看亚洲片| 另类尿喷潮videofree| 黄色精品一二区| 麻豆精品视频在线观看| 久久久噜噜噜久久| 亚洲人成网站777色婷婷| 亚洲精品1区2区| 欧美日韩影院| 久久电影一区| 免费亚洲网站| 女女同性精品视频| 一区二区欧美国产| 亚洲少妇自拍| 国产乱肥老妇国产一区二| 久久精品一区四区| 久久精品最新地址| 亚洲国产精品尤物yw在线观看| 亚洲国产精品99久久久久久久久| 欧美激情网友自拍| 亚洲一区二区精品视频| 午夜精品久久久久久99热| 永久免费精品影视网站| 亚洲精品护士| 国产日本欧美在线观看| 欧美成人午夜影院| 欧美日韩免费观看一区=区三区| 午夜国产不卡在线观看视频| 久久久久.com| 洋洋av久久久久久久一区| 亚洲视频中文| 亚洲国产成人porn| 一本高清dvd不卡在线观看| 国产精品综合视频| 亚洲国产91| 国产女人精品视频| 亚洲国产高清高潮精品美女| 国产精品国产精品| 欧美激情一区二区三区高清视频 | 一二三区精品| 久久久欧美精品| 欧美一级淫片aaaaaaa视频| 欧美mv日韩mv国产网站app| 亚洲一区二区影院| 老牛嫩草一区二区三区日本| 欧美亚洲在线播放| 欧美精品一区二区三区高清aⅴ| 亚洲欧美日韩一区二区三区在线| 久久嫩草精品久久久精品| 亚洲一区二区动漫| 欧美大片在线观看一区| 老司机精品久久| 国产精品你懂得| 亚洲精品国产精品久久清纯直播| 永久免费精品影视网站| 欧美一区二区三区的| 亚洲欧美日韩另类| 欧美日韩国产成人在线免费| 欧美黑人在线播放| 激情国产一区二区| 亚洲视频精选在线| 亚洲精品久久久久久久久久久久久| 国产日韩欧美在线看| 99精品热视频| 一本色道久久| 欧美激情2020午夜免费观看| 久久人人爽人人| 国产九区一区在线| 亚洲欧美日韩一区二区三区在线观看| 一区二区三区日韩精品视频| 欧美精品久久久久久| 亚洲毛片av| 亚洲在线免费视频| 国产精品久久久久久久久借妻| 日韩午夜剧场| 亚洲图片欧洲图片日韩av| 欧美视频二区| 亚洲综合国产激情另类一区| 亚洲综合欧美| 国产精品自在线| 久久久久9999亚洲精品| 欧美ab在线视频| 99国产精品久久久久久久久久| 欧美精品久久一区二区| 日韩一区二区精品在线观看| 亚洲欧美日韩综合一区| 国产一区二区日韩精品欧美精品| 久久国产精品久久w女人spa| 欧美韩国日本综合| 亚洲午夜女主播在线直播| 国产美女诱惑一区二区| 久久久精品一区二区三区| 亚洲高清视频一区二区| 亚洲欧美99| 狠狠色狠狠色综合日日五| 欧美大成色www永久网站婷| 一本一本大道香蕉久在线精品| 午夜视频一区| 亚洲激情亚洲| 国产精品日韩欧美综合| 久久久久久久综合| 日韩亚洲国产精品| 久久久女女女女999久久| 亚洲福利在线视频| 国产精品第一区| 久久伊人亚洲| 亚洲小视频在线| 欧美黄色视屏| 久久国产日韩| 亚洲午夜国产成人av电影男同| 国产乱码精品一区二区三区五月婷 | 欧美女人交a| 午夜视频一区| 亚洲激情综合| 久久久久9999亚洲精品| 日韩一区二区电影网| 国产视频一区在线观看| 欧美精品久久久久久久久老牛影院| 亚洲综合激情| 亚洲人成在线播放网站岛国| 久久精品一本久久99精品| 宅男噜噜噜66一区二区66| 亚洲第一免费播放区| 国产伦精品一区二区三区视频孕妇| 欧美粗暴jizz性欧美20| 久久精品亚洲一区二区| 亚洲丰满在线| 国产一区二区电影在线观看| 亚洲风情在线资源站| 欧美一区精品| 在线一区二区三区四区五区| 亚洲成人资源| 国产视频亚洲| 国产精品一区免费观看| 欧美日韩中文字幕在线| 欧美激情一区二区三区在线视频| 久久成人18免费观看|