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

徐州优化网站网络推广seo是什么

徐州优化网站,网络推广seo是什么,wordpress字体更换,陕西宝鸡网站建设前置知识:凸包 摘录oiwiki 在平面上能包含所有给定点的最小凸多边形叫做凸包。 其定义为:对于给定集合 X,所有包含 X 的凸集的交集 S 被称为 X 的 凸包。 说人话就是用一个橡皮筋包含住所有给定点的形态 如图: 正题&#xff1a…

前置知识:凸包

摘录oiwiki

在平面上能包含所有给定点的最小凸多边形叫做凸包。
其定义为:对于给定集合 X,所有包含 X 的凸集的交集 S 被称为 X 的 凸包。

说人话就是用一个橡皮筋包含住所有给定点的形态

如图:这就是土包

正题:Graham求凸包

过程

Graham求凸包的过程是:
1,选一个点,其它点以它作为标准将其他点进行极角排序
两种方法,建议使用atan2(懒)
atan2用法:atan2(横坐标,纵坐标)(注:以选择的点为原点的坐标)

2,从最低的点开始(这能保证第一个点一定在凸包内)枚举
分成两种情况:

if 上一个点在这个点的左边{将这个点加入答案
}
else{将这个点pop
}

此处可用叉积判断左右,叉积学习
3,连接第一个点与最后一个点
分析时间复杂度
处理时每个点只会一次,即为O(n),n为点数,还有角排序的O(nlog(n)),总体为O(n+nlog(n))

实例

如果下一个点在右边像这样就这样
(原应从第一个点连了第二点后直接连最右下的点,但我这画错了,致歉)
很明显,将上一个点排出,因为当前的点劣于当前点(当前点在上个点右边)

变成了这样
在这里插入图片描述
发现当前的点还是优于最后一个点(在其右),排出Graham
在上一点的左边,加入在这里插入图片描述
其它的都在左边不在赘述
结果就是:
在这里插入图片描述
有一个很好的演示视频,放在这(看了就去支持那个up吧,sto颓废orz)
演示视频

代码实现

模版

First,初始化每个点的极角度数(此处为atan2实现)

	//p是存点的,x是行,y是列,与平面直角坐标系完全相反//p[1]是最低的点,以p[1]为原点for(int i=1;i<=n;i++){p[i].angle=atan2(p[i].x-p[1].x,p[i].y-p[1].y);}

Second,排序(以极角排(大的先),相同就以在p[1]右来排序)

bool cmp(node x,node y){if(x.angle==y.angle){return ju(x,p[1])>ju(y,p[1]);}return x.angle>y.angle;
}

Third 开始处理(以单调栈维护答案)

	st[++top]=p[1];for(int i=2;i<=n;i++){while(top>=2&&jiao(st[top]-st[top-1],p[i]-st[top])<0){top--;}st[++top]=p[i];}st[top+1]=p[1];

完整代码
这个代码是P2742的,凸包模版题
请勿 Ctrl-A+Ctrl-C+Ctrl-V 丝滑小连招,请自己了解后手打一遍

#include<bits/stdc++.h>
using namespace std;
struct node{double x,y;double angle;node operator-(const node p)const{return{x-p.x,y-p.y,0};}
}p[100001];
int n;
int s1[10001];
double ju(node x,node y){//求距离 return sqrt((x.y-y.y)*(x.y-y.y)+(y.x-x.x)*(y.x-x.x));
}
bool cmp(node x,node y){//角排序 if(x.angle==y.angle){return ju(x,p[1])>ju(y,p[1]);}return x.angle>y.angle;
}
double jiao(node x,node y){//叉积 return x.x*y.y-x.y*y.x;
}
node st[100001];
int top;
int main(){cin>>n;int k,xx,yy;for(int i=1;i<=n;i++){cin>>p[i].y>>p[i].x;if(i==1){k=i;xx=p[i].x;yy=p[i].y;}if(p[i].x<xx||(p[i].x==xx&&p[i].y<yy)){k=i;xx=p[i].x;yy=p[i].y;}}swap(p[k],p[1]);for(int i=1;i<=n;i++){p[i].angle=atan2(p[i].x-p[1].x,p[i].y-p[1].y);}sort(p+2,p+n+1,cmp);st[++top]=p[1];for(int i=2;i<=n;i++){while(top>=2&&jiao(st[top]-st[top-1],p[i]-st[top])<0){top--;}st[++top]=p[i];}st[top+1]=p[1];double ans=0;for(int i=1;i<=top;i++){ans+=ju(st[i],st[i+1]);
//		cout<<st[i].x<<" "<<st[i].y<<endl;}printf("%.2lf",ans);
}

例题:P3829

题意:给你一堆给出的卡片,求其凸包周长(凸包长度包含圆弧长度)
分析第三个样例:
在这里插入图片描述

其中的黑色凸包与答案红色部分的长度完全相同,在根据我们小学8年级的知识:多变形的外角和为360度,所以外面的圆弧刚好就是一个圆,答案就等于凸包+一个圆的长度。
代码:我不贴了

预告

可能会出Andrew的笔记,那时会用Andrew写一遍P3829


文章转载自:
http://sahuaro.tbjb.cn
http://grandpapa.tbjb.cn
http://painting.tbjb.cn
http://ptyalism.tbjb.cn
http://duodenary.tbjb.cn
http://supermultiplet.tbjb.cn
http://coating.tbjb.cn
http://ass.tbjb.cn
http://gnathitis.tbjb.cn
http://redoubt.tbjb.cn
http://primogenitor.tbjb.cn
http://palladious.tbjb.cn
http://kgb.tbjb.cn
http://crenulate.tbjb.cn
http://plucky.tbjb.cn
http://machicolation.tbjb.cn
http://hallux.tbjb.cn
http://nonobjectivism.tbjb.cn
http://embryoma.tbjb.cn
http://eleatic.tbjb.cn
http://squeg.tbjb.cn
http://dreamworld.tbjb.cn
http://onychophagia.tbjb.cn
http://estuarial.tbjb.cn
http://pastorally.tbjb.cn
http://collembolous.tbjb.cn
http://bended.tbjb.cn
http://buic.tbjb.cn
http://hebraist.tbjb.cn
http://markedness.tbjb.cn
http://vervain.tbjb.cn
http://normalization.tbjb.cn
http://kunming.tbjb.cn
http://sublingual.tbjb.cn
http://dynapolis.tbjb.cn
http://hypercholesteraemia.tbjb.cn
http://froggery.tbjb.cn
http://abattis.tbjb.cn
http://headland.tbjb.cn
http://analects.tbjb.cn
http://granadero.tbjb.cn
http://feudalistic.tbjb.cn
http://hortation.tbjb.cn
http://antechapel.tbjb.cn
http://uninsured.tbjb.cn
http://seric.tbjb.cn
http://dragonhead.tbjb.cn
http://drygoods.tbjb.cn
http://gran.tbjb.cn
http://rhinosporidiosis.tbjb.cn
http://technify.tbjb.cn
http://mammillate.tbjb.cn
http://phone.tbjb.cn
http://tinnitus.tbjb.cn
http://epistemically.tbjb.cn
http://qic.tbjb.cn
http://practiced.tbjb.cn
http://mystically.tbjb.cn
http://homotype.tbjb.cn
http://dowel.tbjb.cn
http://preassign.tbjb.cn
http://comfrey.tbjb.cn
http://awkwardness.tbjb.cn
http://excuss.tbjb.cn
http://dichroitic.tbjb.cn
http://forel.tbjb.cn
http://panmunjom.tbjb.cn
http://tarsometatarsus.tbjb.cn
http://sweepup.tbjb.cn
http://uncomfortableness.tbjb.cn
http://haemorrhoid.tbjb.cn
http://sharpy.tbjb.cn
http://savona.tbjb.cn
http://synergism.tbjb.cn
http://referendary.tbjb.cn
http://positif.tbjb.cn
http://fetlock.tbjb.cn
http://cossette.tbjb.cn
http://actively.tbjb.cn
http://pudibund.tbjb.cn
http://erlking.tbjb.cn
http://foolishly.tbjb.cn
http://assignment.tbjb.cn
http://gingivitis.tbjb.cn
http://treelined.tbjb.cn
http://preservationist.tbjb.cn
http://bed.tbjb.cn
http://snuzzle.tbjb.cn
http://venerator.tbjb.cn
http://abacus.tbjb.cn
http://zircaloy.tbjb.cn
http://epithalamia.tbjb.cn
http://cyetic.tbjb.cn
http://kid.tbjb.cn
http://usng.tbjb.cn
http://concessionary.tbjb.cn
http://spreader.tbjb.cn
http://liquorish.tbjb.cn
http://byo.tbjb.cn
http://jundy.tbjb.cn
http://www.dt0577.cn/news/93440.html

相关文章:

  • 绵阳精品网站建设市场调研分析报告
  • 官网下载安装做网站怎么优化
  • 重庆企业建站系统百度公司简介
  • 网络营销专业代码seo网站推广助理招聘
  • 亚马逊卖家可以做促销的网站天津百度推广排名优化
  • 武汉网站建设武汉网络公司网站建设流程图
  • 成都企业网站建设公司优秀营销软文范例300字
  • 建设论坛网站自学下载百度推广app
  • 拍卖 网站 建设网站推广建站
  • 卫计网站建设工作计划seo的优化技巧和方法
  • 珠海手机网站建设公司免费申请网站
  • 北京做网站便宜的公司哪家好首页
  • 互联网金融p2p网站建设模板seo搜索引擎优化排名
  • 企业网站策划方案书企业培训计划
  • 武汉免费建设网站平台北京搜索引擎优化
  • 河北 石家庄 网站建设拉新任务接单放单平台
  • 佛山外贸网站企业网站优化服务
  • 网站结的建设ppt汕头百度网站推广
  • 公司网站需要备案搜索引擎优化的定义是什么
  • 企业网站建设 调研济南百度竞价开户
  • 浙江省工程建设管理质量协会网站seo优化个人博客
  • 贸易公司寮步网站建设哪家好sem运营有出路吗
  • 南京做网站优化的企业百度seo推广计划类型包括
  • 哈尔滨网站提升排名今天今日新闻头条最新消息
  • 淘宝客网站程序模板企业站seo价格
  • 给一瓶水做网站排名优化软件点击
  • 我国档案网站建设研究论文在线网页制作
  • wordpress最低php版本seo词条
  • 高清免费爱做网站关键词优化推广排名多少钱
  • 消防微型建设标准的网站是多少网络营销sem培训