麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

HDU - 1007 分治(最接近點對模板)

2019-11-14 09:14:15
字體:
來源:轉載
供稿:網(wǎng)友

題意:

求出平面上n個點中最接近的兩個點的距離。

思路:

最接近點對問題,利用分治法解決,先按照x排序,進行分治,并對每段區(qū)間內(nèi)的點再按照y排序,可以證明每段區(qū)間內(nèi)的比較次數(shù)為常數(shù),復雜度為O(nlogn)。

代碼:

#include <bits/stdc++.h>using namespace std;const int MAXN = 1e5 + 10;struct node {    double x, y;}px[MAXN], py[MAXN];bool cmpx (const node a, const node b) {    return a.x < b.x;}bool cmpy (const node a, const node b) {    return a.y < b.y;}double dis(node a, node b) {    return sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y));}double closet(int l, int r) {    if (l + 1 == r)        return dis(px[l], px[r]);    if (l + 2 == r)        return min(dis(px[l], px[r]), min(dis(px[l + 1], px[r]), dis(px[l], px[l + 1])));    int m = (l + r) >> 1;    double ans = min(closet(l, m), closet(m + 1, r));    int num = 0;    for (int i = l; i <= r; i++)        if (px[i].x >= px[m].x - ans && px[i].x <= px[m].x + ans)            py[++num] = px[i];    sort (py + 1, py + 1 + num, cmpy);    for (int i = 1; i <= num; i++) {        for (int j = i + 1; j <= num; j++) {            if (py[j].y - py[i].y >= ans) break;                 // 這一步這樣寫,但可以證明最多不超過6個            ans = min(ans, dis(py[i], py[j]));        }    }    return ans;}int main() {    //freopen("in.txt", "r", stdin);    int n;    while(scanf("%d", &n), n) {        for (int i = 1; i <= n; i++)            scanf("%lf%lf", &px[i].x, &px[i].y);        sort (px + 1, px + 1 + n, cmpx);        PRintf("%.2f/n", closet(1, n) / 2);    }    return 0;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 色猫av| 国产亚洲精品成人a | 日韩视频一区 | 欧美成年性h版影视中文字幕 | 爱福利视频网 | 欧美69free性videos | 亚洲嫩草av| 亚洲电影免费观看国语版 | 国产精品999在线观看 | 久久区二区 | 成人免费一区二区三区在线观看 | 极品大长腿啪啪高潮露脸 | 羞羞视频免费网站男男 | 欧美大胆xxxx肉体摄影 | 精品成人国产在线观看男人呻吟 | 色播视频在线播放 | 欧美一级黑人 | 中文字幕精品一二三四五六七八 | 黄色小视频免费在线观看 | 黄色特级一级片 | 最近中文字幕一区二区 | 亚洲国产中文字幕 | 久久精品操 | 国产精品免费麻豆入口 | 成人在线视频精品 | 日韩视频一区二区三区在线观看 | 成人精品免费在线观看 | 国产精品久久久久久久久久三级 | 久久成人精品视频 | 久色免费 | 欧美一级黄色网 | 久在线草| 干色视频 | 97综合| 中日韩免费视频 | av免费在线观看av | 一级在线 | 青草久久久久 | 欧美aⅴ视频 | 一级一级一级一级毛片 | 日本综合久久 |