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

心如止水
Je n'ai pas le temps
posts - 400,comments - 130,trackbacks - 0
在《程序設(shè)計中常用的解題策略》中看到這道題,書上給出了這道題的MST解法,我自己想到的一個做法是“二分+圖遍歷”。
首先根據(jù)點的坐標(biāo)構(gòu)造圖G;
考慮到d的最優(yōu)值一定是G中的一條邊的權(quán)值;
隨著d的減小,G中邊數(shù)減小,因此連通分量可能增加;
考慮到二分策略:O(logm);
遍歷圖,計算連通分量的個數(shù)N,如果N<=k,此時的d為一個可行解:O(m);
考慮到浮點誤差,在構(gòu)造邊的時候不開根號,而用向量表示。
以下是我的代碼(沒有測試數(shù)據(jù)……):
#include<stdio.h>
#include
<stdlib.h>
#include
<string.h>
#include
<math.h>
const long maxn=507,INF=20007;
typedef 
struct
{
    
long u,v,x,y;
}point;
long n,k,tot,ans;
point v[maxn],g[maxn][maxn],edge[maxn
*maxn];
bool used[maxn];
int cmp(point a,long dis)
{
    
return (a.x*a.x+a.y*a.y-dis);
}
void Qsort(long begin,long end)
{
    
long i=begin,j=end,t=(begin+end)/2;
    
long mid=edge[t].x*edge[t].x+edge[t].y*edge[t].y;
    
do{
        
while(cmp(edge[i],mid)<0) i++;
        
while(cmp(edge[j],mid)>0) j--;
        
if(i<=j)
        {
            point t
=edge[i];edge[i]=edge[j];edge[j]=t;
            i
++;j--;
        }
    }
while(i<=j);
    
if(begin<j) Qsort(begin,j);
    
if(i<end)   Qsort(i,end);
}
void dfs(long now,long limit)
{
    used[now]
=true;
    
for(long i=1;i<=n;i++)
        
if(!used[i]&&cmp(g[now][i],limit)<=0)
        {
            used[i]
=true;
            dfs(i,limit);
        }
}
long travel(point p)
{
    
long dis=p.x*p.x+p.y*p.y,re;
    re
=0;
    memset(used,
false,sizeof(used));
    
for(long i=1;i<=n;i++)
        
if(!used[i])
        {
            dfs(i,dis);
            re
++;
        }
    
return re;
}
long bsearch(long begin,long end)
{
    
long re=end;
    
while(begin<end)
    {
        
long mid=(begin+end)/2;
        
if(travel(edge[mid])<=k)
        {
            re
=mid;
            end
=mid;
        }
        
else begin=mid+1;
    }
    
return re;
}
int main()
{
    
//*
    freopen("data.in","r",stdin);
    freopen(
"data.out","w",stdout);
    
//*/
    scanf("%ld%ld",&n,&k);
    
for(long i=1;i<=n;i++)
        scanf(
"%ld%ld",&v[i].x,&v[i].y);
    
//  Input
    for(long i=1;i<=n;i++)
        
for(long j=1;j<=n;j++)
            g[i][j].x
=g[i][j].y=INF;
    tot
=1;
    edge[tot].u
=edge[tot].v=edge[tot].x=edge[tot].y=0;
    
for(long i=1;i<=n;i++)
        
for(long j=1;j<=n;j++)
            
if(i!=j)
            {
                g[i][j].u
=i;
                g[i][j].v
=j;
                g[i][j].x
=abs(v[i].x-v[j].x);
                g[i][j].y
=abs(v[i].y-v[j].y);
                tot
++;
                edge[tot]
=g[i][j];
            }
    
//  Distance
    Qsort(1,tot);
    
//for(long i=1;i<=tot;i++)printf("%ld %ld %ld %ld\n",edge[i].u,edge[i].v,edge[i].x,edge[i].y);
    ans=bsearch(1,tot);
    printf(
"%.2lf\n",sqrt(edge[ans].x*edge[ans].x+edge[ans].y*edge[ans].y));
return 0;
}


posted on 2010-02-20 14:14 lee1r 閱讀(289) 評論(0)  編輯 收藏 引用 所屬分類: 題目分類:圖論
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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ⅴ在线精品导航| 久久中文在线| 亚洲午夜免费福利视频| 久久久久久色| 欧美激情第三页| 久久精品国产精品| 欧美大片在线观看一区| 欧美一区二区日韩| 欧美精品成人一区二区在线观看 | 亚洲一区在线直播| 久久精品国产第一区二区三区最新章节| 在线看片日韩| 亚洲一区二区精品视频| 久久爱另类一区二区小说| 农村妇女精品| 久久久久久久综合狠狠综合| 欧美—级高清免费播放| 久久久无码精品亚洲日韩按摩| 欧美片在线播放| 久久久久九九九九| 国产精品欧美久久| 亚洲精品国精品久久99热一| 国内精品伊人久久久久av一坑| 日韩一区二区精品| 亚洲国产精品成人久久综合一区 | 麻豆成人小视频| 免费不卡视频| 激情成人综合网| 亚洲日本视频| 国产精品国产福利国产秒拍| 亚洲图片激情小说| 午夜精品网站| 亚洲三级电影在线观看 | 亚洲图片在线| 红桃视频亚洲| 亚洲区免费影片| 国产精品腿扒开做爽爽爽挤奶网站| 性欧美video另类hd性玩具| 久久精品日韩欧美| 欧美大胆成人| 欧美精品日韩一本| 午夜精品999| 久久人人爽人人爽| 午夜国产欧美理论在线播放 | 一区二区三区四区五区在线| 国产精品视频导航| 美女黄网久久| 国产精品高精视频免费| 免费人成精品欧美精品| 欧美视频中文字幕在线| 老司机精品久久| 国产精品国产成人国产三级| 欧美大胆成人| 国产一区二区三区精品久久久| 在线一区二区三区做爰视频网站| 亚洲欧美激情一区二区| 亚洲精品视频免费观看| 国产欧美午夜| 亚洲女ⅴideoshd黑人| 永久久久久久| 亚洲一区二区三区乱码aⅴ| 亚洲激情成人网| 午夜精品视频在线观看| 一区二区日韩欧美| 久久亚洲图片| 久久久久久久久久久久久9999| 欧美日韩免费在线视频| 欧美激情在线观看| 亚洲视频欧美视频| 欧美极品欧美精品欧美视频| 免费在线一区二区| 国产视频不卡| 亚洲欧美国产日韩天堂区| 中国成人在线视频| 欧美成人xxx| 欧美成人网在线| 国内精品久久久久影院优| 一区二区三区四区精品| 国产一区二区精品久久91| 亚洲视频电影在线| 欧美 亚欧 日韩视频在线| 夜夜嗨av一区二区三区网页| 国产精品人人做人人爽| 久久久久久一区二区| 亚洲精品人人| 亚洲精品欧美专区| 国产欧美一区二区精品忘忧草| 老司机凹凸av亚洲导航| 亚洲一区二区伦理| 欧美激情第六页| 性色av一区二区三区在线观看 | 欧美一级成年大片在线观看| 性色av一区二区三区红粉影视| 欧美国产日韩一区二区| 欧美与欧洲交xxxx免费观看 | 免费亚洲电影| 亚洲欧美国产日韩中文字幕| 亚洲高清不卡在线观看| 欧美亚洲一区在线| 亚洲日本va午夜在线影院| 国产精品久久久久一区| 欧美h视频在线| 欧美怡红院视频| 巨乳诱惑日韩免费av| 久久亚洲春色中文字幕久久久| 99视频+国产日韩欧美| 国产热re99久久6国产精品| 欧美精品一二三| 久久久久久一区二区| 亚洲免费视频观看| 蜜臀av一级做a爰片久久| 欧美一区二区三区在线视频| 欧美a一区二区| 久久狠狠一本精品综合网| 99精品视频一区| 欧美在线亚洲| 亚洲免费观看高清完整版在线观看| 亚洲国产欧美一区| 亚洲专区一二三| 欧美大片在线观看| 亚洲成色777777女色窝| 一区久久精品| 亚洲人成久久| 美女任你摸久久| 亚洲激情专区| 欧美视频一区二区三区…| 欧美日韩在线播放一区| 亚洲片区在线| 最新日韩在线| 久久久久久亚洲综合影院红桃| 欧美日韩一区二区在线观看| 在线中文字幕不卡| 久久久不卡网国产精品一区| 欧美成人精品一区二区| 欧美亚洲一区二区三区| 国产亚洲女人久久久久毛片| 久久精品99久久香蕉国产色戒 | 中文一区二区| 美女诱惑黄网站一区| 日韩一级二级三级| 久久亚洲综合网| 欧美成人精品高清在线播放| 欧美午夜精品久久久久免费视| 久久精品首页| 美女网站在线免费欧美精品| 亚洲宅男天堂在线观看无病毒| 久久久久久久999| 久久精品99无色码中文字幕| 国产精品初高中精品久久| 美女日韩欧美| 亚洲一区美女视频在线观看免费| 亚洲精品一区二区三区蜜桃久| 最新国产精品拍自在线播放| 久久九九热re6这里有精品| 久久久久国产免费免费| 亚洲国产三级网| 久久中文字幕一区二区三区| 欧美不卡在线视频| 一区二区三区高清视频在线观看| 欧美日韩三级一区二区| 亚洲欧美激情一区二区| 亚洲日本中文字幕| 国产精品私房写真福利视频| 欧美一区二区高清| 亚洲国产一区二区在线| 亚洲精品在线三区| 国产精品久久久一本精品| 国产视频欧美| 亚洲欧洲日夜超级视频| 欧美日韩亚洲一区二区三区在线| 欧美好吊妞视频| 亚洲你懂的在线视频| 最新国产成人av网站网址麻豆| 国产精品视区| 欧美精品在线播放| 欧美在线啊v| 亚洲自拍偷拍视频| 91久久久在线| 最新亚洲一区| 国产欧美亚洲精品| 最新国产乱人伦偷精品免费网站| 久久爱www.| 欧美在线观看日本一区| 亚洲一级在线| 亚洲毛片一区| 亚洲精品资源美女情侣酒店| 国产精品网站在线播放| 欧美日韩一区二区三区视频| 欧美激情2020午夜免费观看| 欧美激情亚洲| 国产欧美一区视频| 欧美激情一区二区在线| 亚洲一区尤物|