当前位置: 首页 > wzjs >正文

北京住房和城乡建设网站东营网站建设费用

北京住房和城乡建设网站,东营网站建设费用,wordpress视屏站,江苏网络公司网站建设题目 给定平面上 n 个点,找出其中的一对点的距离,使得在这 n 个点的所有点对中,该距离为所有点对中最小的。 分治,区间l, r的值是左区间和右区间和左右两个区间的距离最小。 求解复杂度nlogn 左右两区间可以仅查找l到r中x轴位…

题目

给定平面上 n 个点,找出其中的一对点的距离,使得在这 n 个点的所有点对中,该距离为所有点对中最小的。

分治,区间l, r的值是左区间和右区间和左右两个区间的距离最小。

求解复杂度nlogn

左右两区间可以仅查找l到r中x轴位置距离小于左区间和右区间求解得到的最小值,进行优化。可能会出现暴力的情况,但是已经被证明总的复杂度可以在nlogn内解决。

代码

#include <bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define nrep(i,a,b) for(int i=a;i>=b;i--)
#define all(a) a.begin(),a.end()
using namespace std;
using ll = long long;
using ld = long double;
template<typename T>
ostream& operator << (ostream& out, vector<T> ve) {cout << "(";for(int i = 0; i < ve.size(); i++) {cout << ve[i] << ",)"[i == ve.size() - 1];}return out;
}void solve(){int n;cin >> n;vector<pair<ld, ld>>a(n);for(auto &t:a) {cin >> t.first >> t.second;}auto dis = [&a](int x, int y) -> ld {ld ans = pow(a[x].first-a[y].first,2) + pow(a[x].second - a[y].second,2);return sqrt(ans);};auto mer = [&](auto self, int l, int r) -> ld {ld ans = 1e17;if(l == r) return ans;if(l + 1 == r) return dis(l, r);int mid = l + r >> 1;ld lres = self(self, l, mid);ld rres = self(self, mid + 1, r);ld out = min(lres, rres);vector<int> pos;rep(i,l,r) if(fabs(a[i].first - a[mid].first) < out) {pos.push_back(i);}sort(pos.begin(),pos.end(),[&](int u, int v) {return a[u].second < a[v].second;});for(int i = 0; i < pos.size(); i++) {for(int j = i + 1; j < pos.size()&& a[pos[j]].second - a[pos[i]].second < out; j++){out = min(out, dis(pos[i], pos[j]));}}return out;};sort(a.begin(),a.end(),[](auto l,auto r) {return l.first == l.second ? l.second < r.second : l.first < r.first;});cout << fixed << setprecision(4) << mer(mer, 0, n-1);
}
signed main() {ios::sync_with_stdio(false);int t=1;//cin >> t;while(t--){solve();}
}
http://www.dtcms.com/wzjs/103008.html

相关文章:

  • 湖南省住房和城乡建设部网站网络推广的公司更可靠
  • 临沂网站建设价格低宁波seo运营推广平台排名
  • 如何在网站上做404页面seo怎么弄
  • 网站建设中 怎么办seo查询
  • 网站中如何嵌入支付宝市场营销互联网营销
  • 合肥集团网站建设东莞建设网
  • 做网站用哪个版本的eclipse上海百度推广优化排名
  • 六盘水市网站建设东莞公司网上推广
  • wordpress+迁移后空白成都seo培训
  • 3000元建设个人网站武汉疫情最新动态
  • 做类似美团的网站得多少钱广告网
  • 南昌网站开发培训班推广策划书模板范文
  • 做网站竞争者的优势html模板网站
  • 网站logo一般多大seo软件推广
  • 芜湖seo网站优化网站怎么优化推荐
  • 免费做微信请帖的网站裂变营销五种模式十六种方法
  • 网页设计二级页面优化网站排名方法教程
  • 外贸电商网站设计吉林seo网络推广
  • 注册公司网上核名网站竞价托管一般要多少钱
  • 西安网站制作中心职业培训机构哪家最好
  • 仿百度图片网页设计抖音优化
  • jsp网站建设毕业设计方象科技的企业愿景
  • 海南爱心扶贫网站是哪个公司做的百度极速版推广员怎么申请
  • 西安知名网站建设公司google登录入口
  • wordpress 内容发布北京专业网站优化
  • 企业展示网站建设建站合肥网络公司seo
  • 网站建设 呢咕云做企业网站建设公司哪家好
  • 571免费建网站三亚网络推广
  • 福永网站建设公司有没有谷歌浏览器app
  • 天津网站建设 泰姆仕产品软文撰写