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

做电商看的网站有哪些新东方线下培训机构官网

做电商看的网站有哪些,新东方线下培训机构官网,凤凰军事新闻最新消息,免费模板建站网站并查集 二分 我是 并查集 二分 做的QVQ 思路:两两枚举点之间的距离,sort排序,使距离有序。二分答案,每次判断是否符合条件,然后缩小查询范围,直到满足题目要求(保留2位小数精度就为 0.001就好…

并查集 + 二分

我是 并查集 + 二分 做的QVQ

思路:两两枚举点之间的距离,sort排序,使距离有序。二分答案,每次判断是否符合条件,然后缩小查询范围,直到满足题目要求(保留2位小数精度就为 0.001就好了)最后保留两位小数输出

核心 判断是否符合条件:

对于每次判断,首先应初始化并查集。因为距离有序,一直并集直到两点距离大于(要判断的)k的两倍(k为每次二分检查的半径,两点距离大于半径即两点相离)为止。

(现在所有距离小于k*2 都被联通了)两两枚举所有点,若有一点i离左海岸线的距离<k,说明点i在半径为k的条件下能够到左边界;同理,若有一点j离右海岸线的距离 + k > len说明点j在半径为k的条件下够得到右边界,如果i,j在同一集合内,说明成立(左边界->i->j->右边界;满足封锁)

需要注意的是:

并查集初始化需从0开始(读题);

每次判断成立都要初始化并查集;

代码如下(注释并上):

    #include<iostream>#include<algorithm>#include<cmath>#include<cstdio>using namespace std;const int maxn = 1001100;int num,nr;//点数,边数int len;//海滩宽度int father[maxn];//并查集struct R{int u,v;double dis;}I[maxn];//边struct Node{int x,y;}N[maxn];//点bool cmp(R a,R b){return a.dis < b.dis;//sort的cmp函数}int findfather(int v){//查找祖先(注意压缩路径【不然也许会超时QAQ】)if(father[v] == v)return v;int F = findfather(father[v]);father[v] = F;return F;}void Union(int a,int b){//并集int faA = findfather(a);int faB = findfather(b);if(faA != faB){father[faA] = faB;}}bool check(double k){//判断函数for(int i = 0;i < num;i++)father[i] = i;//并查集每次初始化int i = 1;while(I[i].dis <= 2 * k && i <= nr){//在当前k下能连通的全部连通Union(I[i].u,I[i].v);i++;}for(int i = 0;i < num;i++){//两两枚举for(int j = 0;j < num;j++){if(findfather(i) == findfather(j) && N[i].x - k < 0 && N[j].x + k > len){        return 1;}}}return 0;}double search(double l,double r){while(l + 0.001 < r){//二分,精度为0.001double mid = (l + r)/2;if(check(mid)){//成立就缩小上界r = mid;}else{l = mid;}}return r;}int main(){cin>>len>>num;//输入宽度和点数for(int i = 0;i < num;i++)father[i] = i;//并查集初始化for(int i = 0;i < num;i++){cin>>N[i].x>>N[i].y;//输入点坐标}for(int i = 0;i < num;i++){//两两枚举,计算点与点之间的距离for(int j = i;j < num;j++){I[++nr].u = i;I[nr].v = j;I[nr].dis =sqrt (1.0 * (N[i].x - N[j].x) * (N[i].x - N[j].x) + (N[i].y - N[j].y) * (N[i].y - N[j].y));//记得加math头文件}}sort(I + 1,I + nr + 1,cmp);//按距离从小到大排序printf("%.2f\n",search(0.0,10000000.0) );//输出return 0;}
End.(求过)

转载于:https://www.cnblogs.com/Tony-Double-Sky/p/9281588.html

http://www.lbrq.cn/news/2600821.html

相关文章:

  • 苏州家教网站建设贵阳网站建设推广
  • 北京个人网站建设甘肃新站优化
  • 网站模块怎么恢复百度词条搜索排行
  • 知名室内设计网站企业网站推广方法
  • 香港服务器的网站山东今日热搜
  • 杭州的服装网站建设做小程序公司哪家好
  • 建设旅游信息网站的好处引流推广网站平台
  • congqin网站建设免费的网站域名查询565wcc
  • wap网站开发公司江门seo推广公司
  • 做爰片在线看网站谷歌sem
  • 做网站文件夹都起什么名字西安seo优化排名
  • 简述电子商务网站建设的基本流程百度客户端下载
  • 咪咕动态网站怎么做最近的电脑培训学校
  • 镇江网站如何设计一个网页
  • 鹤壁做网站百度小说排行榜风云榜
  • aspx做网站网站快速排名服务商
  • 能够做物理题的网站合肥百度快速排名提升
  • 成都网站建设吧网站优化排名怎么做
  • 学习软件开发的网站关键词优化是什么意思?
  • 苏州企业名录黄页国外网站谷歌seo推广
  • 手机端网站模板山东网站建设
  • 微信web网站开发b站视频推广网站
  • 做网站做的好的公司站长工具手机综合查询
  • 做婚纱网站策划方案刷外链
  • wordpress顶部是什么seo优化网站优化排名
  • 湘潭做网站价格 d磐石网络关于搜索引擎的搜索技巧
  • 龙华区城市建设局网站百度网站客服
  • 表格网站滚动字体怎么做的seo外包公司怎么样
  • 营销型企业网站建设教案关键词排名手机优化软件
  • 集团门户网站建设费用科目免费seo推广软件
  • tensorRT配合triton部署模型
  • 前端1.0
  • 配置Mybatis环境
  • 【Unity】背包系统 + 物品管理窗口 (上)
  • 淘宝获取商品SKU详情API接口操作指南
  • 编译器工作原理的显微镜级拆解