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

xiaoguozi's Blog
Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習慣原本生活的人不容易改變,就算現狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預料,人們需要更細心的觀察別人,要隨時注意才能保護別人,因為他們未必知道自己要什么·····
計算二分圖的算法有網絡流算法和匈牙利算法(目前就知道這兩種),其中匈牙利算法是比較巧妙的,具體過程如下(轉自組合數學):

令g
=(x,*,y)是一個二分圖,其中x={x1,x2},y={y1,y2,.}.令m為g中的任意匹配。 

1。將x的所有不與m的邊關聯的頂點表上¥,并稱所有的頂點為未掃描的。轉到2。 

2。如果在上一步沒有新的標記加到x的頂點上,則停,否則 ,轉3 

3。當存在x被標記但未被掃描的頂點時,選擇一個被標記但未被掃描的x的頂點,比如xi,用(xi)標 

記y 的所有頂點,這些頂點被不屬于m且尚未標記的邊連到xi。 

 現在頂點xi 是被掃描的。如果不存在被標記但未被掃描的頂點,轉4。 

4。如果在步驟3沒有新的標記被標記到y的頂點上,則停,否則轉5。 

5。當存在y被標記但未被掃描的頂點時。選擇y的一個被標記但未被掃描的頂點,比如yj, 

用(yj)標記x的頂點,這些頂點被屬于m且尚未標記的邊連到yj。現在,頂點yj是被掃描的。 

如果不存在被標記但未被掃描的頂點則轉道2。 

由于每一個頂點最多被標記一次且由于每一個頂點最多被掃描一次,本匹配算法在有限步內終止。
匈牙利算法思想:
今天剛看了二分匹配..以前的沒怎么好好想過,今天看了下,其實很簡單..就是不斷找增廣路
過程...有x,y兩個集合,對x這個集合每個點遍歷一遍,遍歷當前點時,如果y中有個未匹配的點
,直接跳出,ans++,如果在y中所有和x的點都匹配過,則對這些點再找,如果有其他的路,則
更新,ans++,如果沒,則把當前的點置為匹配的點,ans不變..x++;

相關題目:
http://acm.hdu.edu.cn/showproblem.php?pid=1151
http://acm.hdu.edu.cn/showproblem.php?pid=1068
http://acm.hdu.edu.cn/showproblem.php?pid=1150
http://acm.hdu.edu.cn/showproblem.php?pid=1281
http://acm.hdu.edu.cn/showproblem.php?pid=1498
http://acm.hdu.edu.cn/showproblem.php?pid=1528
http://acm.hdu.edu.cn/showproblem.php?pid=1507
相關知識:
二分圖的最小頂點覆蓋=二分圖的最大匹配數
二分圖的最大獨立集=頂點數-二分圖的最大匹配數
二分圖的最小路徑覆蓋=頂點數-二分圖的最大匹配數
posted @ 2008-07-31 15:56 小果子 閱讀(701) | 評論 (0)編輯 收藏

http://acm.hdu.edu.cn/showproblem.php?pid=1530(赤裸裸的最大團)

http://acm.zju.edu.cn/show_problem.php?pid=3008

 1 #include <iostream>
 2 #include <vector>
 3 #include <cmath>
 4 
 5 using namespace std;
 6 class Num
 7 {
 8 public:
 9     void factorization(){
10         //n==1特殊處理
11 
12         //
13         //n>1
14         int i=0;
15         for(i=0;n%2==0&&n>1;n/=2,i++);
16         if(i>0){
17             prime.push_back(2);
18             num.push_back(i);
19         }
20 
21         int t=0,j;
22         for(i=3;i<=n;i+=2){
23               for(j=0;n%i==0&&n>1;n/=i,j++);
24               if(j>0){
25                   prime.push_back(i);
26                   num.push_back(j);
27               }
28         }
29         return;
30     }
31     Num(int x=0):n(x){
32         prime.clear();
33         num.clear();
34     }
35     vector<int> prime,num;
36     int n;
37 };
38 Num p;
39 int n,m,ans;
40 void dfs(int i,unsigned long long val)
41 {
42     unsigned long long tt=val;
43     unsigned long long t=1;
44     for(int j=0;i<p.num.size()&&j<=p.num[i]*m;j++){
45         val*=t;
46         if(val<=n&&i==p.num.size()-1){
47             ans++;
48             //return;
49         }
50         if(val<=n&&i+1<p.num.size()){
51             dfs(i+1,val);
52         }
53         if(val>n)return;
54         t*=p.prime[i];
55         val=tt;
56     }
57     return ;        
58 }
59 int main()
60 {
61     while(scanf("%d%d",&n,&m)!=EOF){
62         if(n==1){
63             printf("1\n");
64             continue;
65         }
66         ans=0;
67         p.n=n;
68         p.num.clear();
69         p.prime.clear();
70         p.factorization();
71         dfs(0,1);
72         printf("%d\n",ans);
73     }
74     return 0;
75 }
posted @ 2008-07-28 20:58 小果子 閱讀(389) | 評論 (0)編輯 收藏
 1 #include <iostream>
 2 #include <algorithm>
 3 #include <vector>
 4 
 5 using namespace std;
 6 struct Node
 7 {
 8     int xi,yi;
 9     Node(int x=0,int y=0):xi(x),yi(y){};
10 };
11 bool op1(const Node& a,const Node& b)
12 {
13     if(a.xi==b.xi)return a.yi<b.yi;
14     return a.xi<b.xi;
15 }
16 bool op2(const Node& a,const Node& b)
17 {
18     if(a.yi==b.yi)return a.xi<b.xi;
19     return a.yi<b.yi;
20 };
21 
22 int marx[10005];
23 
24 vector<Node> vecx,vecy;
25 int main()
26 {
27     int c;
28     scanf("%d",&c);
29     while(c--){
30         vecx.clear();
31         vecy.clear();
32         int n,m;
33         scanf("%d%d",&n,&m);
34         int x,y;
35         for(int i=0;i<n;i++){
36             scanf("%d%d",&x,&y);
37             Node tmp(x,y);
38             ++marx[x];
39             vecx.push_back(tmp);
40             vecy.push_back(tmp);
41         }
42 
43         sort(vecx.begin(),vecx.end(),op1);
44         sort(vecy.begin(),vecy.end(),op2);
45 
46         int ans=0x7fffffff;
47         int start=0,cnt,tt,end=0;
48         for(int i=0;i<n;++i){
49             for(int j=i;j<n;++j){
50                 start=0;
51                 end=-1;
52                 cnt=0;
53                 tt=0;
54                 for(start=0;start<n&&end<n;){
55                     if(cnt<m){
56                         end++;
57                         if(end==n)break;
58                         if(vecx[end].yi<=vecy[j].yi&&vecx[end].yi>=vecy[i].yi)cnt++;
59                     }
60                     else{
61                         if(vecx[start].yi<=vecy[j].yi&&vecx[start].yi>=vecy[i].yi){
62                             int lenx=abs(vecx[end].xi-vecx[start].xi)+2;
63                             int leny=abs(vecy[i].yi-vecy[j].yi)+2;
64                             if(lenx*leny<ans)ans=lenx*leny;
65                         }
66                         if(vecx[start].yi<=vecy[j].yi&&vecx[start].yi>=vecy[i].yi)cnt--;
67                         start++;
68                     }
69                 }
70             }
71         }
72         printf("%d\n",ans);            //start++
73     }
74     return 0;
75 }
實力不夠...繼續努力...
posted @ 2008-07-28 17:43 小果子 閱讀(270) | 評論 (0)編輯 收藏
http://acm.pku.edu.cn/JudgeOnline/problem?id=3670
 1 #include <iostream>
 2 #include <vector>
 3 
 4 using namespace std;
 5 const int N=30005;
 6 int dp1[N];
 7 int dp2[N];
 8 int dp3[N];
 9 int d1[N];
10 int d2[N];
11 int main()
12 {
13     int n;
14     while(cin>>n){
15         int num;
16         memset(dp1,0,sizeof(dp1));
17         memset(dp2,0,sizeof(dp2));
18         memset(dp3,0,sizeof(dp3));
19         for(int i=0;i<n;i++){
20             cin>>d1[i];
21             d2[n-i-1]=d1[i];
22         }
23         switch(d1[0]){
24             case 1:
25                 dp1[0]=0,dp2[0]=1,dp3[0]=1;
26                 break;
27             case 2:
28                 dp1[0]=1,dp2[0]=0,dp3[0]=1;
29                 break;
30             case 3:
31                 dp1[0]=1,dp2[0]=1,dp3[0]=0;
32                 break;
33         }
34 
35         for(int i=1;i<n;i++){
36             switch(d1[i]){
37                 case 1:
38                     dp1[i]=dp1[i-1];
39                     dp2[i]=min(dp1[i-1],dp2[i-1])+1;
40                     dp3[i]=min(dp1[i-1],min(dp2[i-1],dp3[i-1]))+1;
41                     break;
42                 case 2:
43                     dp1[i]=dp1[i-1]+1;
44                     dp2[i]=min(dp1[i-1],dp2[i-1]);
45                     dp3[i]=min(dp1[i-1],min(dp2[i-1],dp3[i-1]))+1;
46                     break;
47                 case 3:
48                     dp1[i]=dp1[i-1]+1;
49                     dp2[i]=min(dp1[i-1],dp2[i-1])+1;
50                     dp3[i]=min(dp1[i-1],min(dp2[i-1],dp3[i-1]));
51                     break;
52             }
53         }
54         int ans=0x7fffffff;
55         if(ans>dp1[n-1])ans=dp1[n-1];
56         if(ans>dp2[n-1])ans=dp2[n-1];
57         if(ans>dp3[n-1])ans=dp3[n-1];
58 
59         switch(d2[0]){
60             case 1:
61                 dp1[0]=0,dp2[0]=1,dp3[0]=1;
62                 break;
63             case 2:
64                 dp1[0]=1,dp2[0]=0,dp3[0]=1;
65                 break;
66             case 3:
67                 dp1[0]=1,dp2[0]=1,dp3[0]=0;
68                 break;
69         }
70 
71         for(int i=1;i<n;i++){
72             switch(d2[i]){
73                 case 1:
74                     dp1[i]=dp1[i-1];
75                     dp2[i]=min(dp1[i-1],dp2[i-1])+1;
76                     dp3[i]=min(dp1[i-1],min(dp2[i-1],dp3[i-1]))+1;
77                     break;
78                 case 2:
79                     dp1[i]=dp1[i-1]+1;
80                     dp2[i]=min(dp1[i-1],dp2[i-1]);
81                     dp3[i]=min(dp1[i-1],min(dp2[i-1],dp3[i-1]))+1;
82                     break;
83                 case 3:
84                     dp1[i]=dp1[i-1]+1;
85                     dp2[i]=min(dp1[i-1],dp2[i-1])+1;
86                     dp3[i]=min(dp1[i-1],min(dp2[i-1],dp3[i-1]));
87                     break;
88             }
89         }
90 
91         if(ans>dp1[n-1])ans=dp1[n-1];
92         if(ans>dp2[n-1])ans=dp2[n-1];
93         if(ans>dp3[n-1])ans=dp3[n-1];
94 
95         cout<<ans<<endl;
96     }
97     return 0;
98 }
99 
posted @ 2008-07-25 15:27 小果子 閱讀(222) | 評論 (0)編輯 收藏
僅列出標題
共58頁: First 48 49 50 51 52 53 54 55 56 Last 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            免费观看久久久4p| 久久久久久久国产| 久久精品视频在线| 国产精品毛片一区二区三区 | 久久久久久久久岛国免费| 国产真实乱子伦精品视频| 香蕉久久夜色精品国产| 亚洲一区二区欧美| 国产一区二区三区观看| 99亚洲一区二区| 亚洲精品影视| 国产伦精品一区| 欧美激情亚洲国产| 欧美精品一区二区精品网| 一区二区三区欧美| 久久久91精品国产| 一区二区不卡在线视频 午夜欧美不卡在 | 一区二区三区在线观看欧美| 久久五月天婷婷| 欧美另类亚洲| 国产三级欧美三级日产三级99| 久久久亚洲人| 欧美大尺度在线观看| 国产精品久久久久99| 欧美激情亚洲激情| 1769国产精品| 久久久99爱| 久久久久久亚洲精品不卡4k岛国| 欧美性猛交xxxx乱大交退制版| 国产欧美一区二区精品婷婷| 99国产一区| 亚洲小视频在线观看| 一本色道久久综合亚洲精品按摩 | 亚洲激情午夜| 在线观看亚洲一区| 欧美激情第五页| 一区二区三区|亚洲午夜| 麻豆精品网站| 在线观看欧美日韩国产| 一本久久综合亚洲鲁鲁| 欧美激情在线播放| 欧美不卡视频一区| 中日韩在线视频| 男女精品视频| 亚洲尤物在线视频观看| 久久久99久久精品女同性| 午夜视频一区二区| 欧美激情1区| 亚洲二区在线| 精品成人一区二区| 久久久国产午夜精品| 久久精品电影| 亚洲电影视频在线| 欧美日韩四区| 先锋亚洲精品| 亚洲黄色一区| 国产精品日韩欧美一区二区三区| 亚洲最新视频在线| 亚洲第一福利视频| 久久人人97超碰人人澡爱香蕉| 久久久在线视频| 亚洲一区二区三区涩| 欧美日韩ab片| 亚洲国产小视频| 亚洲免费高清| 国产精品九色蝌蚪自拍| 亚洲视频在线看| 久久riav二区三区| 一区二区欧美在线| 午夜国产一区| 国产自产在线视频一区| 欧美韩日一区二区三区| 国产精品chinese| 亚洲国产精品国自产拍av秋霞 | 久久www成人_看片免费不卡| 麻豆成人综合网| 亚洲国产精品成人| 国产欧美一区二区精品婷婷 | 午夜精品久久久久久久久久久久久 | 免费久久99精品国产自在现线| 亚洲视频在线观看视频| 亚洲精品久久久久久久久| 欧美激情一区二区三级高清视频| 欧美激情一区二区三区成人| 亚洲精品国产品国语在线app | 久久亚洲精品视频| 日韩视频免费观看| 黑人操亚洲美女惩罚| 久久久7777| 欧美99在线视频观看| 久久综合狠狠综合久久综青草| 欧美在线免费视屏| 老司机aⅴ在线精品导航| 欧美一级视频| 在线观看日韩专区| 激情亚洲网站| 亚洲精品久久久久久下一站| 亚洲第一伊人| 一区二区不卡在线视频 午夜欧美不卡在 | 在线国产亚洲欧美| 亚洲精品欧洲精品| 欧美一区二区在线视频| 麻豆国产精品va在线观看不卡| 一级日韩一区在线观看| 亚洲国产成人久久| 国产精品嫩草影院av蜜臀| 欧美日韩mv| 欧美日韩中文在线| 国产精品大片wwwwww| 欧美性大战久久久久| 国产精品网站一区| 欧美日本一区二区视频在线观看| 免费在线观看一区二区| 久久精品1区| 欧美成人国产一区二区| 欧美激情二区三区| 久久精品国产久精国产一老狼 | 久久精品视频免费播放| 国产亚洲视频在线| 亚洲欧美精品在线| 亚洲人成人99网站| 欧美精品久久一区| 黄色亚洲免费| 欧美一区二区私人影院日本 | 亚洲精品国产日韩| 亚洲中午字幕| 六十路精品视频| 国产亚洲精品激情久久| 1024亚洲| 欧美在线看片| 夜夜精品视频一区二区| 久久国内精品视频| 国产精品视频午夜| 99riav久久精品riav| 两个人的视频www国产精品| 中文欧美字幕免费| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲一区二区三区精品在线| 欧美jizz19hd性欧美| 欧美一区二区三区四区视频| 欧美人妖在线观看| 亚洲精品国久久99热| 欧美激情第9页| 久久综合色综合88| 一区三区视频| 中文国产成人精品久久一| 欧美阿v一级看视频| 久久精品国产成人| 国产精品日韩在线| 久久精品国产2020观看福利| 亚洲图色在线| 国产精品久久久久天堂| av成人天堂| 亚洲午夜精品国产| 精品动漫av| 亚洲精品国产精品国自产观看浪潮 | 欧美日一区二区在线观看| 亚洲小说春色综合另类电影| 99精品国产一区二区青青牛奶| 国产精品成人一区二区| 久久九九全国免费精品观看| 亚洲欧美日韩精品久久亚洲区 | 久热re这里精品视频在线6| 欧美成人伊人久久综合网| 香蕉久久国产| 欧美精品自拍| 欧美影院久久久| 欧美日韩中文| 蜜月aⅴ免费一区二区三区| 欧美激情bt| 午夜视频在线观看一区二区| 久久亚洲春色中文字幕| 香蕉免费一区二区三区在线观看| 午夜天堂精品久久久久| 在线一区欧美| 欧美精品 国产精品| 美女久久一区| 国产伦精品一区二区三区高清版| 亚洲日本无吗高清不卡| 亚洲裸体俱乐部裸体舞表演av| 久久成人18免费观看| 久久精品视频在线免费观看| 欧美成人国产一区二区| 久久综合久久美利坚合众国| 欧美精品www在线观看| 亚洲国产欧美在线| 国内精品久久久久影院 日本资源| 一区二区欧美亚洲| 99成人在线| 麻豆视频一区二区| 美女在线一区二区| 在线观看亚洲精品| 久久免费视频一区| 久久午夜视频| 1024国产精品| 女人香蕉久久**毛片精品| 亚洲精品久久久久久下一站 | 精品1区2区3区4区| 国产精品久久久久久影视 | 欧美.www|