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

Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594

POJ 3715 Blue and Red---二分圖匹配

Posted on 2010-08-08 19:34 Uriel 閱讀(421) 評論(0)  編輯 收藏 引用 所屬分類: POJ圖論
想到二分圖,但是不知道那種貪心思想對不對以及如何優(yōu)化。。參考了解題報告

感謝大牛的解題報告:http://hi.baidu.com/liuzhe/blog/item/793e0c24efa6602cd407428a.html

基本上照著寫的,然后加了讀入輸出優(yōu)化,效果驚人。。0MS。。暫時Rank1了。。還是頭一次刷到這么前。。

//Problem: 3715  User: Uriel 
//Memory: 444K  Time: 0MS 
//Language: G++  Result: Accepted
//Bipartite Graph Matching
//Hungary
//2010.08.08

#include
<stdio.h>
#include
<stdlib.h>
#include
<string.h>

short n,m,index;
bool type[205],a[205][205];
short l[205],ln;

struct node{
    
short id;
    node 
*next;
}
*head[205],table[30005];

inline 
void add(int x,int y){
    table[index].id
=y;
    table[index].next
=head[x];
    head[x]
=&table[index];
    index
++;
}


int in()
{
    
char ch;
    
int a=0;
    
while((ch=getchar())==' ' || ch=='\n');
    a
*=10;
    a
+=ch-'0';
    
while((ch=getchar())!=' ' && ch!='\n')
    
{
        a
*=10;
        a
+=ch-'0';
    }

    
return a;
}


void out(int a)
{
    
if(a>=10)out(a/10);
    putchar(a
%10+'0');
}


void Build_Graph(){
    n
=in();m=in();
    
int i;
    ln
=index=0;
    
for(i=1;i<=n;i++){
        type[i]
=in();
        
if(!type[i])l[++ln]=i;
    }

    memset(a,
0,sizeof(a));
    memset(head,
0,sizeof(head));
    
for(i=1;i<=m;i++){
        
int x,y;
        x
=in();y=in();
        
++x,++y;
        
if(type[x]!=type[y] && !a[x][y]){
            a[x][y]
=a[y][x]=1;
            add(x,y);
            add(y,x);
        }

    }

}


short lx[205],ly[205];
bool flag[205],del[205];

bool find(int x){
    flag[x]
=1;
    
for(node *p=head[x];p;p=p->next)
    
if(!flag[p->id] && !del[p->id]){
         flag[p
->id]=1;
         
if(!lx[p->id] || find(lx[p->id])){
             lx[p
->id]=x;
             ly[x]
=p->id;
             
return 1;
         }

    }

    
return 0;
}


bool dfs1(int x){
    flag[x]
=1;
    
for(node *p=head[x];p;p=p->next)
    
if(!flag[p->id] && !del[p->id]){
         flag[p
->id]=1;
         
if(!lx[p->id] || dfs1(lx[p->id]))
         
return 1;
    }

    
return 0;
}


bool dfs2(int x){
    flag[x]
=1;
    
for(node *p=head[x];p;p=p->next)
    
if(!flag[p->id] && !del[p->id]){
         flag[p
->id]=1;
         
if(!ly[p->id] || dfs2(ly[p->id]))
         
return 1;
    }

    
return 0;
}


int hungary(){
    memset(lx,
0,sizeof(lx));
    memset(ly,
0,sizeof(ly));
    
int i,ans=0;
    
for(i=1;i<=ln;i++)
        
if(!del[l[i]]){
            memset(flag,
0,sizeof(flag));
            
if(find(l[i]))ans++;
        }

    
return ans;
}


void Sov(){
    memset(del,
0,sizeof(del));
    
int i,max=hungary();
    
out(max);
    
for(i=1;i<=&& max;i++){
        
if(!lx[i] && !ly[i])continue;
        
else if(lx[i]){
            memset(flag,
0,sizeof(flag));
            del[i]
=1;
            
if(!dfs1(lx[i])){
                max
--;
                ly[lx[i]]
=0;
                putchar(
' ');
                
out(i-1);
            }

            
else
                del[i]
=0;
        }

        
else if(ly[i]){
            memset(flag,
0,sizeof(flag));
            del[i]
=1;
            
if(!dfs2(ly[i])){
                max
--;
                lx[ly[i]]
=0;
                putchar(
' ');
                
out(i-1);
            }

            
else
                del[i]
=0;
        }

    }

    puts(
"");
}


int main(){
    
int t;
    t
=in();
    
while(t--){
         Build_Graph();
         Sov();
    }

    
return 0;
}

神一樣的讀入輸出優(yōu)化~~~

PS:圖論的建圖還是糾結,但是悲劇的是比賽的時候往往遇到稍微麻煩點的圖論還沒開始糾結比賽就已經over了,總是卡水題,悲劇啊
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美三级不卡| 国产婷婷色一区二区三区四区| 欧美亚洲一区| 亚洲人人精品| 国产午夜精品视频| 麻豆精品一区二区av白丝在线| 91久久中文| 欧美一区二区精美| 久久久噜噜噜久久久| 亚洲欧美日韩精品在线| 国产人成精品一区二区三| 欧美成人黑人xx视频免费观看| 亚洲欧美日韩爽爽影院| 久久中文欧美| 国产精品一区二区三区乱码| 欧美日韩国产精品| 欧美色综合网| 国产麻豆综合| 国产一区二区三区在线观看免费| 永久久久久久| 一区二区三区日韩| 午夜精品一区二区在线观看| 久久久久国色av免费观看性色| 女人香蕉久久**毛片精品| 亚洲国产精品一区二区第一页| 亚洲国产专区| 欧美一区二区三区免费大片| 久久夜色精品亚洲噜噜国产mv | 国产精品久久久91| 激情五月综合色婷婷一区二区| 亚洲精品一线二线三线无人区| 亚洲影院在线观看| 久久成人18免费网站| 欧美激情1区| 亚洲免费视频网站| 欧美电影免费观看高清| 国产婷婷成人久久av免费高清 | 韩国女主播一区| 日韩视频在线一区二区| 欧美一区二区三区男人的天堂| 欧美电影在线免费观看网站| 亚洲香蕉网站| 欧美国产日韩免费| 伊人精品视频| 亚洲一区精品电影| 91久久综合亚洲鲁鲁五月天| 久久久精品欧美丰满| 欧美四级剧情无删版影片| 亚洲国产成人精品久久久国产成人一区| 亚洲在线不卡| 亚洲人体偷拍| 欧美精品久久久久久久免费观看 | 久久久久久综合| 亚洲一区二区日本| 欧美午夜电影在线| 一区二区不卡在线视频 午夜欧美不卡在 | 国产精品高精视频免费| 亚洲精品1234| 欧美国产三区| 欧美91视频| 最新国产拍偷乱拍精品 | 午夜精品久久久久久99热| 欧美视频导航| 亚洲欧美网站| 亚洲欧美国产精品专区久久| 国产精品入口日韩视频大尺度| 亚洲专区在线视频| 亚洲午夜精品一区二区| 国产精品色婷婷| 久久国产毛片| 久久精品国产免费观看| 在线观看精品视频| 欧美高清视频| 欧美日韩成人在线视频| 亚洲无限av看| 欧美在线你懂的| 亚洲电影免费观看高清完整版在线观看| 裸体一区二区三区| 欧美成人精品h版在线观看| 亚洲人体大胆视频| 999在线观看精品免费不卡网站| 欧美激情视频网站| 亚洲性视频网站| 欧美一区二区三区在线视频| 国产一区二区三区在线播放免费观看 | 亚洲国产一区二区a毛片| 欧美二区在线看| 欧美激情影院| 新狼窝色av性久久久久久| 欧美专区在线| 亚洲毛片在线免费观看| 亚洲视频一区| 亚洲福利视频在线| 亚洲视频在线一区| 亚洲激情偷拍| 亚洲欧美日韩国产一区二区三区| 在线免费一区三区| 中文一区二区在线观看| 亚洲高清免费| 亚洲欧美一区二区视频| 亚洲精品网站在线播放gif| 亚洲欧美大片| 一区二区三区久久久| 久久久国产91| 欧美另类69精品久久久久9999| 欧美自拍偷拍午夜视频| 欧美不卡三区| 亚洲国产欧美一区二区三区久久| 亚洲区欧美区| 国产一区二区欧美| 一区二区三区久久精品| 亚洲国产高清aⅴ视频| 在线一区二区日韩| 亚洲理伦在线| 久久中文字幕导航| 久久久xxx| 国产精品一区久久| 日韩亚洲国产精品| 亚洲精品乱码久久久久久按摩观 | 久久色中文字幕| 国产精品入口日韩视频大尺度| 亚洲区免费影片| 最新中文字幕一区二区三区| 亚洲欧美国产精品专区久久| 亚洲伊人久久综合| 欧美日韩一区二区三区免费| 亚洲电影免费观看高清完整版在线| 国产一区二区剧情av在线| 亚洲欧美日韩成人高清在线一区| 亚洲性av在线| 国产精品久久久久久久第一福利| 亚洲精品国产精品国自产观看| 亚洲电影在线免费观看| 久久亚洲一区| 欧美韩日一区二区| 亚洲人成网在线播放| 免费看的黄色欧美网站| 欧美14一18处毛片| 在线高清一区| 麻豆精品在线视频| 亚洲高清视频在线| 日韩午夜在线观看视频| 欧美精品在线观看| 99re66热这里只有精品3直播| 亚洲永久免费精品| 国产精品性做久久久久久| 亚洲欧美国产va在线影院| 久久精品最新地址| 伊人精品在线| 欧美麻豆久久久久久中文| aa亚洲婷婷| 欧美中文字幕在线| 在线观看中文字幕亚洲| 欧美不卡一区| 亚洲美女一区| 性欧美video另类hd性玩具| 国产亚洲va综合人人澡精品| 久久精品五月| 亚洲精选一区二区| 久久福利精品| 亚洲另类视频| 国产精品丝袜xxxxxxx| 久久国产视频网| 91久久精品国产91久久性色| 亚洲视频免费观看| 国产主播一区二区三区四区| 欧美电影美腿模特1979在线看| 一区二区三区视频观看| 欧美一区二区三区久久精品茉莉花| 国产亚洲欧美aaaa| 欧美国产日韩一区二区| 在线中文字幕日韩| 国产欧美韩国高清| 奶水喷射视频一区| 亚洲一区二区不卡免费| 欧美电影免费观看| 午夜伦理片一区| 亚洲欧洲一区二区在线播放| 国产精品视频xxx| 欧美成人第一页| 欧美一二区视频| 99成人在线| 欧美国产亚洲精品久久久8v| 午夜精品99久久免费| 亚洲精品免费电影| 国产曰批免费观看久久久| 欧美日韩国产精品一区二区亚洲| 欧美一区二区在线观看| 99ri日韩精品视频| 欧美激情在线| 久久综合图片| 欧美在线啊v一区| av成人免费观看| 影音先锋亚洲视频| 国产一区二区高清视频| 欧美性视频网站| 欧美精品一区二| 美日韩精品免费| 久久精品一区二区三区不卡| 亚洲欧美高清|