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

糯米

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>
            亚洲第一精品在线| 免费久久精品视频| 久久精品99国产精品| 亚洲伦理久久| 亚洲精品乱码久久久久久蜜桃91| 好吊视频一区二区三区四区| 国产亚洲欧美日韩精品| 国产性猛交xxxx免费看久久| 国产一区二区三区在线观看精品 | 亚洲黄色在线视频| 亚洲国产精品一区二区第一页| 亚洲高清在线| 一区二区三区日韩欧美精品| 午夜在线视频一区二区区别| 欧美亚洲免费电影| 久久伊伊香蕉| 亚洲肉体裸体xxxx137| 夜夜嗨av一区二区三区中文字幕| 亚洲男人的天堂在线aⅴ视频| 久久久青草婷婷精品综合日韩| 欧美黄色影院| 国产欧美精品在线| 最新国产成人av网站网址麻豆| 亚洲欧美大片| 欧美激情精品久久久久久久变态| 亚洲色图自拍| 欧美成人官网二区| 国产亚洲欧美激情| 亚洲午夜精品久久久久久浪潮| 久久野战av| 中文欧美日韩| 欧美国产日韩一区二区三区| 国产人成精品一区二区三| 亚洲激情第一区| 久久九九免费视频| 一区二区三区四区五区视频| 麻豆国产va免费精品高清在线| 国产精品日韩在线一区| 日韩视频一区二区三区在线播放免费观看| 久久精品99久久香蕉国产色戒| 亚洲精品女人| 久久免费观看视频| 韩国一区二区三区在线观看| 欧美中文字幕在线视频| 中日韩美女免费视频网址在线观看 | 欧美亚洲免费高清在线观看| 欧美中文日韩| 久久夜精品va视频免费观看| 欧美精品七区| 国产一级精品aaaaa看| 在线观看视频一区二区| 99精品免费| 一区二区三区高清不卡| 亚洲综合视频在线| 午夜一区二区三区在线观看| 久久久久久久一区二区| 狠久久av成人天堂| 欧美伊人久久久久久午夜久久久久| 亚洲欧美激情一区| 久久久久久91香蕉国产| 亚洲日本中文字幕区| 亚洲美女在线一区| 亚洲一区二区在线播放| 久久精品一区蜜桃臀影院| 美女精品在线| 国产精品久久综合| 欧美护士18xxxxhd| 在线视频精品一区| 久久精品免费电影| 久久综合伊人77777蜜臀| 91久久线看在观草草青青| 中文一区字幕| 久久综合色播五月| 欧美日韩亚洲国产一区| 国产日韩欧美亚洲一区| 亚洲经典三级| 欧美在线观看你懂的| 欧美一区二区精美| 欧美精品九九| 激情亚洲一区二区三区四区| 99精品视频免费| 久久精品视频在线免费观看| 91久久在线视频| 久久久人成影片一区二区三区观看| 欧美大尺度在线| 国产精品一二三四| 一区二区免费在线播放| 一区二区三区高清在线| 欧美亚洲免费| 欧美激情按摩在线| 精东粉嫩av免费一区二区三区| 亚洲日本成人| 欧美在线视频网站| 欧美激情精品久久久久久变态| 久久久精彩视频| 日韩午夜精品视频| 欧美大片一区二区| 精品成人在线观看| 欧美在线一二三四区| 亚洲九九爱视频| 久久夜色精品国产欧美乱| 欧美美女日韩| 91久久国产精品91久久性色| 欧美va天堂| 久久国产日韩欧美| 女人色偷偷aa久久天堂| 好吊色欧美一区二区三区视频| 亚洲免费视频成人| 一本大道久久a久久综合婷婷| 欧美电影免费观看大全| 亚洲第一精品久久忘忧草社区| 久久精品卡一| 午夜欧美精品久久久久久久| 中文在线资源观看网站视频免费不卡| 欧美电影在线| 欧美岛国在线观看| 亚洲国产婷婷香蕉久久久久久| 久久亚洲私人国产精品va媚药| 久久精品视频导航| 国产视频精品xxxx| 欧美中文字幕不卡| 一区二区三区精品| 久久免费视频在线观看| 国产亚洲欧美一区| 久久久91精品国产一区二区三区| 亚洲综合大片69999| 欧美性大战久久久久久久蜜臀| 亚洲伊人色欲综合网| 亚洲一区二区三区在线看| 国产精品亚洲а∨天堂免在线| 久久se精品一区二区| 久久国产成人| 国产欧美精品一区aⅴ影院| 久久久午夜精品| 久久久综合免费视频| 亚洲三级电影全部在线观看高清| 亚洲人妖在线| 欧美午夜一区二区| 久久国产精品一区二区三区| 日韩视频一区二区在线观看 | 国产一区二区三区高清| 久久精品99国产精品| 久久精品免视看| 99精品国产在热久久下载| 日韩性生活视频| 欧美日韩精品二区| 亚洲乱码久久| 欧美日韩亚洲国产一区| 亚洲欧美在线aaa| 久久久福利视频| 99在线|亚洲一区二区| 亚洲一区精品视频| 午夜日韩在线观看| **欧美日韩vr在线| 亚洲一区二区三区免费观看 | 久久精品国产一区二区三| 久久国产精品毛片| 欧美福利视频一区| 免费观看一级特黄欧美大片| 久久伊伊香蕉| 香蕉国产精品偷在线观看不卡 | 老司机免费视频一区二区| 欧美精品日韩www.p站| 亚洲一区久久久| 欧美mv日韩mv国产网站| 亚欧美中日韩视频| 欧美日韩国产区一| 欧美不卡激情三级在线观看| 久久成年人视频| 夜色激情一区二区| 久久国产精品网站| 欧美亚洲视频一区二区| 欧美黄色一区二区| 蜜乳av另类精品一区二区| 国产欧美日韩在线观看| 亚洲精品影视在线观看| 精品va天堂亚洲国产| 亚洲欧美激情一区二区| 韩日视频一区| 国产精品v片在线观看不卡 | 欧美一区二区三区在线观看| 亚洲毛片网站| 美国十次成人| 亚洲欧美精品在线观看| 蜜桃精品一区二区三区| 欧美.日韩.国产.一区.二区| 国内精品久久久久国产盗摄免费观看完整版| 日韩午夜av在线| 在线亚洲伦理| 欧美日韩综合精品| 日韩视频免费| 国产精品青草综合久久久久99| 99在线精品观看| 亚洲午夜电影| 久久精品亚洲| 狂野欧美激情性xxxx欧美| 国内成人精品视频| 在线午夜精品自拍| 亚洲国产综合在线看不卡| 亚洲福利视频网|