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

巢穴

about:blank

7月28日 練習

    今天下午做了一套相對簡單的題。
    題是matrix67共享在oibh,曾經的練習題。
  

題解Problem 1 : leader
誰是組長

問題描述
    八中信息組需要選一個組長。信息組一共有n個人,分別用1到n編號,其中m個人參與了投票。得票數過半(票數大于m div 2)的人將被選為組長。
    輸入數據將告知這m個人分別將票投給了誰,請統計出誰將擔任八中信息組的組長。

輸入數據
    第一行兩個數n和m。
    第二行有m個數,這些數都是不超過n的正整數,表明這m個人的選擇。

輸出數據
    輸出將被選為組長的人。如果沒有人的票數過半,請輸出-1。

輸入樣例
7 4
7 7 2 7

輸出樣例
7

時間限制
    各測試點1秒

內存限制
    你的程序將被分配10MB的運行空間

數據規模
    1<=n<=maxlongint
    1<=m<=10000

題解: matrix67給出的方法是快排。然后一個O(m)的掃描即可。不過我沒有用這種方法。正巧前幾天看書看到了一道跟這題一模一樣的題。據說曾經是ms的測試題。好了,回歸正題,這題題意無非就是m個數,范圍都在1-n中間,其實n是無用的。然后會有一個數出現的次數>m div 2。我們假設這個數的值是s,那么每次從這組數里去掉兩個不同的數,因為是不同的數,則至多只可從這些數中去掉一個s,那么如此一直進行下去。去到找不到兩個不同的數為止,則至少還會剩下一個s。當然,這是極端情況,大多數情況下應該會剩下不少s。復雜度為O(m)

#include <iostream>
#include 
<fstream>
#include 
<memory.h>
using namespace std;

ifstream fin(
"leader.in");
ofstream fout(
"leader.out");

const int maxm=10000;

int n,m;
long f[maxm];
bool h[maxm];
void init()
{
     fin
>>n>>m;
     
for (int i=0;i<m;i++)
     
{
         fin
>>f[i];
     }

}

void solve()
{
     memset(h,
false,sizeof(h));
     
for (int i=0;i<m;i++)
     
{
         
if (h[i]) continue;
         
int u=i+1;
         
while (u<m)
         
{
               
if (f[i]!=f[u])
               
{
                  h[i]
=true;
                  h[u]
=true;
                  
break;
               }

               u
++;
         }

     }

     
for (int i=0;i<m;i++)
     
{
        
         
if (!h[i])
         
{
            fout
<<f[i]<<endl;
            exit(
0);
         }

     }

}

int main()
{
    init();
    solve();

    
return 0;
}



Problem 2 : money
最小花費

問題描述
    在n個人中,某些人的銀行賬號之間可以互相轉賬。這些人之間轉賬的手續費各不相同。給定這些人之間轉賬時需要從轉賬金額里扣除百分之幾的手續費,請問A最少需要多少錢使得轉賬后B收到100元。

輸入數據
    第一行輸入兩個正整數n,m,分別表示總人數和可以互相轉賬的人的對數。
    以下m行每行輸入三個正整數x,y,z,表示標號為x的人和標號為y的人之間互相轉賬需要扣除z%的手續費 (z<100)。
    最后一行輸入兩個正整數A,B。數據保證A與B之間可以直接或間接地轉賬。

輸出數據
    輸出A使得B到賬100元最少需要的總費用。精確到小數點后8位。

輸入樣例
3 3
1 2 1
2 3 2
1 3 3
1 3

輸出樣例
103.07153164

時間限制
    各測試點1秒

內存限制
    你的程序將被分配40MB的運行空間

數據規模
    1<=n<=2000

題解: 比較明顯的最短路徑模型。不過剛轉c++,我竟然不知道如何保留小數點后面的精度,所以這題就沒有寫精度。

#include <iostream>
#include 
<fstream>
#include 
<memory.h>
using namespace std;

ifstream fin(
"money.in");
ofstream fout(
"money.out");


const int maxn=2000;
int n,m;
int f[maxn+1][maxn+1];
int s,t;
double dist[maxn+1];
bool hash[maxn+1];
void init()
{
     fin
>>n>>m;
     
int a,b,c;
     
for (int i=0;i<m;i++)
     
{
         fin
>>a>>b>>c;
         f[a][b]
=c;
         f[b][a]
=c;
     }

     fin
>>s>>t;
}

void solve()
{

     
for (int i=1;i<=n;i++)
     
{
         
if (f[s][i]==0)
         
{
          dist[i]
=100000.0;
          
continue;
         }

         dist[i]
=100.0*100/(double)(100-f[s][i]);

     }

     dist[s]
=100000.0;hash[s]=true;

     
for (int i=1;i<n;i++)
     
{
         
double min=100000.0;
         
int u=0;
         
for (int j=1;j<=n;j++)
         
{
             
if (hash[j]) continue;
             
if (min>dist[j]) {min=dist[j];u=j;}
         }

         hash[u]
=true;
         
for (int j=1;j<=n;j++)
         
{
             
if (f[u][j]==0continue;
             
if (dist[j]>dist[u]*100/(double)(100-f[u][j]))
                dist[j]
=dist[u]*100/(double)(100-f[u][j]);
         }

     }

   
//  printf()l;
    
// fout.precision(11);
     fout<<dist[t]<<endl;
     
}

int main()
{
    init();
    solve();
    
return 0;
}



Problem 3 : harm
最小傷害

問題描述
    把兒站在一個N x N的方陣中最左上角的格子里。他可以從一個格子走到它右邊和下邊的格子里。每一個格子都有一個傷害值。他想在受傷害最小的情況下走到方陣的最右下角。

輸入數據
    第一行輸入一個正整數n。
    以下n行描述該矩陣。矩陣中的數保證是不超過1000的正整數。

輸出數據
    輸出最小傷害值。

樣例輸入
3
1 3 3
2 2 2
3 1 2

樣例輸出
8

數據規模
    n<=1000

題解:這題是更加明顯的動態規劃。直接上代碼……

#include <iostream>
#include 
<fstream>
#include 
<memory.h>
using namespace std;

ifstream fin(
"harm.in");
ofstream fout(
"harm.out");

const int maxn=1000;
int n;
int sum[maxn+1][maxn+1];
int dp[maxn+1][maxn+1];
int min(int x,int y)
{
    
return x<y?x:y;
}

void init()
{
     fin
>>n;
     
for (int i=1;i<=n;i++)
     
{
         
for (int j=1;j<=n;j++)
         
{
             fin
>>sum[i][j];
         }

     }

}

void solve()
{
     memset(dp,
0,sizeof(dp));
     
for (int i=1;i<=n;i++)
     
{
         
for (int j=1;j<=n;j++)
         
{
             
if (i==1{dp[i][j]=dp[i][j-1]+sum[i][j];continue;}
             
if (j==1{dp[i][j]=dp[i-1][j]+sum[i][j];continue;}
             dp[i][j]
=min(dp[i-1][j],dp[i][j-1])+sum[i][j];
         }

     }

     fout
<<dp[n][n]<<endl;
}

int main()
{
    init();
    solve();
    
return 0;
}



Problem 4 : unique
尋找代表

問題描述
    八中一共有n個社團,分別用1到n編號。
    八中一共有m個人,分別用1到m編號。每個人可以參加一個或多個社團,也可以不參加任何社團。
    每個社團都需要選一個代表。我們希望更多的人能夠成為代表。

輸入數據
    第一行輸入兩個數n和m。
    以下n行每行若干個數,這些數都是不超過m的正整數。其中第i行的數表示社團i的全部成員。每行用一個0結束。

輸出數據
    輸出最多的能夠成為代表的人數。

樣例輸入
4 4
1 2 0
1 2 0
1 2 0
1 2 3 4 0

樣例輸出
3

數據范圍
    n,m<=200

題解:2分圖匹配,匈牙利算法。

#include <iostream>
#include 
<fstream>
#include 
<memory.h>

using namespace std;
const int maxn=200;

ifstream  fin(
"unique.in");
ofstream fout(
"unqiue.out");
int n,m;
bool connect[maxn+1][maxn+1];
bool used[maxn+1];
int  ms[maxn+1];
void init()
{
     fin
>>n>>m;
     
for (int i=1;i<=n;i++)
     
{
         
while (true)
         
{
            
int c;
            fin
>>c;
            
if (c==0break;
            connect[i][c]
=true;
         }

     }

     
}

bool check(int x)
{
        
for (int i=1;i<=m;i++)
        
{
            
if ((!used[i])&&(connect[x][i]))
            
{
               used[i]
=true;
               
if ((ms[i]==0)||(check(ms[i])))
               
{
                  ms[i]
=x;
                  
return true;
               }

            }

            
        }

        
return false;
}

void solve()
{
    
int ans=0;
    
for (int i=1;i<=n;i++)
    
{
        memset(used,
false,sizeof(used));
        
if (check(i))
        
{
                     ans
++;
        }

        
    }

    fout
<<ans<<endl;
}

int main()
{
    init();
    solve();
    
return 0;
}



 

 


posted on 2009-07-28 18:47 Vincent 閱讀(746) 評論(0)  編輯 收藏 引用 所屬分類: 數據結構與算法


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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看| 国产精品久久久久毛片软件 | 欧美激情一区二区三区不卡| 99热免费精品| 国内伊人久久久久久网站视频| 久久精品日韩欧美| 欧美一区国产一区| 亚洲一区bb| 亚洲毛片在线| 日韩午夜三级在线| 欧美大胆人体视频| 亚洲国产成人不卡| 欧美大片网址| 亚洲欧洲免费视频| av不卡在线观看| 欧美一区1区三区3区公司| 亚洲欧美激情一区| 欧美一区二区三区日韩| 国产日韩精品综合网站| 国产精品丝袜xxxxxxx| 国产拍揄自揄精品视频麻豆| 国产精品美女久久| 欧美特黄一级| 国内久久婷婷综合| 日韩亚洲视频在线| 久久精品欧美| 亚洲精品视频在线播放| 久久精品国产99国产精品| 欧美精品高清视频| 狠狠色丁香婷婷综合影院| 9l国产精品久久久久麻豆| 欧美一区二区三区免费视频| 亚洲国产一区二区视频| 久久精品av麻豆的观看方式| 欧美色欧美亚洲高清在线视频| 精品成人一区二区三区四区| 翔田千里一区二区| 亚洲人成网站影音先锋播放| 久久夜色精品国产欧美乱极品| 欧美日韩中文字幕| 亚洲看片网站| 亚洲第一黄色网| 久久久久久一区| 激情亚洲一区二区三区四区| 久久女同互慰一区二区三区| 国产精品免费一区二区三区在线观看| 在线看成人片| 亚洲国产天堂久久综合网| 午夜天堂精品久久久久| 国产欧美日韩一区二区三区| 亚洲午夜激情| 国产精品v欧美精品∨日韩| 久久精品一本| 久久国产一区二区三区| 亚洲视频图片小说| 国产麻豆日韩欧美久久| 久久成人这里只有精品| 最新国产精品拍自在线播放| 中文无字幕一区二区三区| 99精品视频免费观看视频| 欧美sm视频| 欧美在线首页| 性欧美精品高清| 日韩午夜中文字幕| 亚洲综合色激情五月| 狠狠色综合网站久久久久久久| 亚洲激情成人网| 国产欧美亚洲视频| 美女国产一区| 国产精品国产| 免费在线观看精品| 欧美日韩国产在线播放网站| 性欧美8khd高清极品| 午夜精品久久久久久久男人的天堂| 黑人极品videos精品欧美裸| 亚洲国产欧美精品| 影音先锋久久久| 欧美亚洲三区| 亚洲一区日本| 欧美久久电影| 亚洲乱码国产乱码精品精| 在线观看欧美黄色| 久久久久久久久蜜桃| 久热精品视频在线观看| 国产美女精品一区二区三区| 亚洲特黄一级片| 午夜精品福利在线| 欧美亚州一区二区三区 | 欧美一二三视频| 国产亚洲福利社区一区| 午夜精品久久久久| 久久久久国产精品一区三寸| 国产亚洲精品高潮| 久久精品夜色噜噜亚洲aⅴ| 嫩草成人www欧美| 亚洲伦伦在线| 国产精品久久影院| 欧美中在线观看| 亚洲国产高潮在线观看| 中文在线不卡视频| 欧美成人国产| 欧美一区二区视频在线观看| 美女啪啪无遮挡免费久久网站| 亚洲风情亚aⅴ在线发布| 欧美午夜视频| 亚洲乱码一区二区| 亚洲一区二区三区高清不卡| 国产精品视频导航| 国产精品视频免费在线观看| 欧美人与性禽动交情品| 欧美黄在线观看| 欧美理论电影网| 欧美日韩喷水| 国产精品久久久久久av下载红粉| 欧美日韩在线观看视频| 欧美日韩国产精品| 国产精品一区二区久激情瑜伽| 国产精品夫妻自拍| 国产精品午夜在线| 极品少妇一区二区三区| 尤物精品在线| 午夜国产不卡在线观看视频| 国产精品99久久99久久久二8| 欧美午夜精品理论片a级按摩| 国产精品国产三级国产专播精品人| 美女网站在线免费欧美精品| 国产精品视频99| 久久久久国产精品一区二区| 亚洲欧美在线一区二区| 欧美日韩精品免费观看视频完整 | 激情文学综合丁香| 日韩一区二区电影网| 亚洲欧美日韩成人高清在线一区| 亚洲第一搞黄网站| 国产精品久久7| 久久久夜色精品亚洲| 老司机精品视频网站| 欧美日韩免费观看一区二区三区 | 国产精品美女www爽爽爽| 欧美日韩国产成人| 国产亚洲二区| 一区二区欧美国产| 亚洲大胆人体在线| 亚洲视频第一页| 久久免费精品日本久久中文字幕| 欧美高清视频一区二区| 国产伦理一区| 一区二区三区高清在线| 久久网站免费| 久久国产精品一区二区| 国产一区二区三区在线免费观看| 亚洲乱码一区二区| 亚洲国产精品一区二区www| 久久久精品国产一区二区三区 | 一本大道久久a久久综合婷婷| 老司机免费视频久久| 久久精品日产第一区二区| 国产欧美日韩精品丝袜高跟鞋| 亚洲天堂久久| 亚洲欧美日本日韩| 国产伦精品一区二区三区视频孕妇| 亚洲一区欧美| 久久精彩免费视频| 亚洲精品一区二区在线观看| 亚洲国产小视频在线观看| 欧美精品在线看| 性久久久久久久| 久久另类ts人妖一区二区| 亚洲免费成人| 午夜精品久久久久久久久久久久 | 亚洲成人影音| 一本久久综合亚洲鲁鲁| 国内成人精品2018免费看| 亚洲高清在线视频| 国产日产欧产精品推荐色 | 先锋影音久久| 性欧美xxxx大乳国产app| 亚洲国产精品www| 亚洲永久免费| 亚洲精品欧美极品| 久久精品国产综合| 亚洲欧美日韩视频一区| 久久国产加勒比精品无码| 在线观看av一区| 亚洲午夜视频在线观看| 亚洲精品无人区| 久热精品在线视频| 久久爱www久久做| 国产毛片精品视频| 亚洲精品影院| 亚洲区中文字幕| 久久亚洲综合色一区二区三区| 欧美制服第一页| 欧美亚洲在线观看| 欧美激情精品久久久久久变态| 欧美亚洲免费| 欧美三区美女| 一区二区三区色| 亚洲一区精品电影| 欧美私人网站|