POJ 2187 Beauty Contest

“傻瓜”stata入门——熟悉操作界面 小白开始学习stata和matlab,零基础上手 阅读详情

分析:给你一些点,让你求距离最大的两个点之前距离的平方。首先求出凸包,然后可以枚举凸包上所有顶点的距离找到最大值,也可以用旋转卡壳来求凸包直径。后者原理网上很多,解释的也挺好,我就放下我的代码就好了。

# include <stdio.h>
# include <algorithm>
  using namespace std;
  struct point
  {
      int x,y;
  }v[50005];
  int max(int a,int b)
  {
      return a>b?a:b;
  }
  int Cross(point a,point b,point c)
  {
      return (b.x-a.x)*(c.y-a.y)-(c.x-a.x)*(b.y-a.y);
  }
  int Dis2(point a,point b)
  {
      return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y);
  }
  int cmp(point a,point b)
  {
      int t=Cross(v[0],a,b);
      if(t!=0)
        return t>0?1:0;
      return Dis2(v[0],a)<Dis2(v[0],b);
  }
  int rotating_calipers(point stack[50005],int top)//旋转卡壳
  {//这里stack数组从0到top依次保存的是凸包从最下角逆时针无共线的顶点的次序。
      int i,p,q=1,ans=0;
      top++;
      for(p=0;p<top;p++)
      {//寻找以p,(p+1)%top为边,距离这条边最远的点q,也就是确定了三角形的2个点,找q使得面积最大。
          while(Cross(stack[p],stack[(p+1)%top],stack[(q+1)%top])>Cross(stack[p],stack[(p+1)%top],stack[q]))
            q=(q+1)%top;
          ans=max(ans,Dis2(stack[p],stack[q]));
      }
      return ans;
  }
  void Graham(int n)
  {
      int i,min,top;
      point t,stack[50005];
      for(i=0,min=0;i<n;i++)
        if(v[i].y<v[min].y||(v[i].y==v[min].y&&v[i].x<v[min].x))
          min=i;
      t=v[0]; v[0]=v[min]; v[min]=t;
      sort(v+1,v+n,cmp);
      top=-1; stack[++top]=v[0]; stack[++top]=v[1];
      for(i=2;i<n;i++)
      {
          while(top>0&&Cross(stack[top-1],stack[top],v[i])<=0)
            top--;
          stack[++top]=v[i];
      }
      printf("%d\n",rotating_calipers(stack,top));
  }
  int main()
  {
      int i,n;
      scanf("%d",&n);
      for(i=0;i<n;i++)
        scanf("%d%d",&v[i].x,&v[i].y);
      Graham(n);
      return 0;
  }


FPGA笔试题知识点汇总(21~40) 阅读详情

相关推荐

FreeRTOS:卡在configASSERT( ( pxQueue ) )问题的解决

FreeRTOS卡在configASSERT( ( pxQueue ) )问题的解决

qq_42007164的博客 9564

poj 2187 Beauty Contest

poj 2187 Beauty Contest题意:给你一个数据范围在2~5e4范围内的横纵坐标在-1e4~1e4的点,问你任意两点之间的距离的最大值的平方等于多少? 一道卡壳凸包的模板题,也是第一次写计算几何的题,就看了些模板,关于预备知识;我是直接找到左下角的点,排好序之后,就直接形成凸包,之后调用rotating_calipers()求解;里面注意在凸包构造好之后,因为是++top的,所以在

hxer 353

从FPGA/ASIC工程师视角看DDR:手把手拆解Memory Controller、PHY与DRAM芯片的协作流程

本文从FPGA/ASIC工程师视角深入解析DDR内存子系统,详细拆解Memory Controller、PHY与DRAM芯片的协作流程。通过系统架构分解、接口标准解析和实战调试技巧,帮助工程师优化DDR性能并解决常见问题,涵盖地址映射、命令调度、时序校准等关键技术要点。

weixin_42548888的博客 457

poj2187 Beauty Contest

传送门:http://poj.org/problem?id=2187 【题解】 凸包、卡壳模板 # include <math.h> # include <stdio.h> # include <string.h> # include <iostream> # include <algorithm> //...

aklm45097的博客 106

Anolis 8系统下,手把手搞定Nginx、Redis、JDK8和Tomcat9的完整安装与配置(含开机自启)

本文详细介绍了在Anolis 8系统下搭建Java Web全栈环境的完整流程,包括JDK8、Tomcat9、Nginx和Redis的安装与配置,并实现系统级服务管理。通过深入每个组件的配置细节,揭示服务间的协同关系,最终打造一个生产级可用的标准化环境。

weixin_42556197的博客 158

SystemRDL:从寄存器描述到自动化生成的完整指南

本文详细介绍了SystemRDL如何通过“一份描述,多处生成”的理念,彻底解决芯片与FPGA设计中手动维护寄存器带来的不一致与低效问题。文章提供了从语言快速上手、核心组件讲解到使用PeakRDL工具链实现自动化代码与文档生成的完整实战指南,帮助硬件工程师构建高效、可靠的寄存器开发流程。

weixin_29243279的博客 659

【poj2187】 Beauty Contest

http://poj.org/problem?id=2187 (题目链接)题意:求点集上两点间最长距离Solution   凸包+旋转卡壳。   旋转卡壳是看起来很难,但是很好实现也很好理解的算法,有篇博客写得很好,代码也很美观,在下也就不再赘述了。代码:// poj2187 #include<algorithm> #include<iostream> #include<cstring> #in

MashiroSky的博客 427

【WRF-Urban】增加动态空间热排放数据以替换人为热排放参数

增加动态空间热排放数据以替换人为热排放参数

WW、forever的博客 1044

Beauty Contest POJ2187

Beauty Contest Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 43065   Accepted: 13331 Description Bessie, Farmer John's prize cow, has just won first place in a bovine ...

zezzezzez的博客 293

node: /lib64/libstdc++.so.6: version `CXXABI_1.3.11‘ not found (required by node) 解决方案

本文主要介绍了node: /lib64/libstdc++.so.6: version `CXXABI_1.3.11’ not found (required by node) ,希望能对使用nodejs的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 1万+

Python爬取公交线路信息及站点shp数据 文末附数据下载地址

三、现在已经获取到了各个线路名称、链接,以及所途径的上下行站点,那么接下来就应该对开始对第三页url进行信息采集,即本次爬虫的最终目的:爬取所有站点的GPS坐标数据。但坑就坑在,二环一号线属于环线,所以只有左侧有站点数据,而其他非环线车次的站点数据分有上下行,如果用正则匹配,则分不清楚到底哪些是上行站点哪些是下行站点。以前爬过百度地图,当时用的是API平台,加上网站比较规范,所以标签节点什么的都比较清晰,但这次由于特殊原因所选择的网站为公交网,废话不多说直接开始吧。checi=二环一号线。

J_Giser的博客 1316

Beauty Contest POJ 2187

Graham求凸包,再旋转卡壳 第一次自己写Graham,出了挺多错误,刚开始还以为有什么陷阱 说下要注意事项 top--前面是 还有就是求完凸包之后再用旋转卡壳的时候注意要用stack数组进行旋转卡壳,还有stack[top]=stack[0] #include #include #include #include #include #define N 50005 using

lj94093的专栏 634

2026华为OD机试(JAVA&Go)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,Java实现。

MISAYAONE的博客 34万+

POJ2187 Beauty Contest

问题分析 求平面最远点对。凸包+旋转卡壳。 WA了5发是因为自作聪明认为找对踵点可以直接看两个点,保持距离最大……然后被下面这组数据叉掉了…… input: 10 0 0 10000 0 1 100 2 199 9999 100 9998 199 100 -900 200 -1799 9800 -1799 9900 -900 output: 100000000 所以还是老老实实地写吧...

TIANFENG_123456的博客 191

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

poj2187 Beauty Contest 凸包

DescriptionBessie, Farmer John’s prize cow, has just won first place in a bovine beauty contest, earning the title ‘Miss Cow World’. As a result, Bessie will make a tour of N (2 <= N <= 50,000) farms a

xtulollipop 781

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

POJ2187Beauty Contest

POJ2187平面最远点对裸题。 来填坑了QAQ。 (求完凸包暴力都能过差评)【代码】#include <cstdio> #include <iostream> #include <cstring> #include <algorithm> #define N 50005 using namespace std; typedef long long ll;ll read() { ll x

Heret1c 383

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

poj2187 Beauty Contest 旋转卡壳

链接:http://poj.org/problem?id=2187 题意:找到一个多边形的直径。 裸的旋转卡壳……连坑点都没有……不说什么,板子献上…… 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring&gt...

anmaoguai3220的博客 155

【POJ 2187】Beauty Contest

旋转卡壳模板题~

Regina8023 1029

POJ 2187.Beauty Contest

题目:http://poj.org/problem?id=2187 AC代码(C++): #include #include #include #include #include #include #include #include #include #define INF 0x7fffffff #define LFINF 1e10 #define eps 1e

njyexiong的博客 225

POJ 2187 Beauty Contest (凸包 旋转卡壳)

题目链接:POJ 2187 Description Bessie, Farmer John's prize cow, has just won first place in a bovine beauty contest, earning the title 'Miss Cow World'. As a result, Bessie will make a tour of N (2 &...

G19850917的博客 235

【计算几何】 Andrew凸包算法 + 旋转卡壳(以求点对最长距离为例) -- 以 POJ 2187 Beauty Contest 为例

Part One 求凸包 凸包的算法有很多种,我这里使用的是是Andrew那个凸包算法,就是先循环所有点求出下凸包,再逆向循环所有点定求出上凸包的那个算法。 时间复杂度为O(NlogN) 一个java的Applet演示算法执行过程 Monotone Chain Convex Hull 算法伪代码: 输入:一个在平面上的点集P 点集 P 按 先x后y 的递增排序 声明两个栈:U,L U -

生命有一种绝对 4151

poj 2187 Beauty Contest

题目链接:点击打开链接 Beauty Contest Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 35352 Accepted: 10943 Description Bessie, Farmer John's prize cow, has ju

Vision 460

poj 2187 Beauty Contest(凸包求解多节点的之间的最大距离)

/* poj 2187 Beauty Contest 凸包:寻找每两点之间距离的最大值 这个最大值一定是在凸包的边缘上的! 求凸包的算法: Andrew算法! */ #include<iostream> #include<cstdio> #include<cstring> ...

weixin_34218890的博客 155
上一篇: ZOJ 1081 Points Within
下一篇: HDU 5339 Untitled
丶阿明
博客等级 码龄12年 70粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值