hdu 1756 Cupid's Arrow 计算几何

HDU 1756 Cupid's Arrow(计算几何---判断点是不是在多边形内) 原题地址:http://acm.hdu.edu.cn/showproblem.php?pid=1756 模板题 #include <bits/stdc++.h> #define eps 1e-8 #define INF 0x3f3f3f3f #define PI acos(-1) #define lson l,mid,rt<< 阅读详情

判断一个点是否在多边形之内,我开始是使用叉乘求面积,wa了一段时间后然后发现这个算法是错误的,于是上网搜了题解,我的写法参考了这篇文章http://blog.youkuaiyun.com/lfz95/article/details/8037685

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1756

#include <stdio.h>
#include <math.h>

const double pi = acos(-1.0);
const double eps = 1e-8;

struct Node {
    double x,y;
};

Node a[105],temp;

int n,m;

double cross(Node a1,Node a2,Node a3){
    return (a2.x-a1.x)*(a3.y-a2.y) - (a3.x-a2.x)*(a2.y-a1.y);
}

double dist2(Node a1,Node a2){
    return (a1.x-a2.x)*(a1.x-a2.x)+(a1.y-a2.y)*(a1.y-a2.y);
}

double get_each_digit(Node a1,Node a2,Node a3){
    double t1 = dist2(a1,a2) + dist2(a1,a3) - dist2(a2,a3);
    double t2 = 2 * sqrt(dist2(a1,a2)) * sqrt(dist2(a1,a3));
    return acos(t1/t2);
}

double get_Digit(){
    double digit = 0,tempDigit;
    for(int i = 0;i<n;i++){
        if(fabs(cross(temp,a[i],a[i+1]))<eps)continue;
        tempDigit = get_each_digit(temp,a[i],a[i+1]);
        if(cross(temp,a[i],a[i+1])<0)tempDigit = -tempDigit;
        digit += tempDigit;
    }
    return digit;
}

void input(){
    while(~scanf("%d",&n)){
        for(int i = 0;i<n;i++){
            scanf("%lf %lf",&a[i].x,&a[i].y);
        }
        a[n] = a[0];
        scanf("%d",&m);
        for(int i = 0;i<m;i++){
            scanf("%lf %lf",&temp.x,&temp.y);
            double digit = get_Digit();
            if(fabs(digit)<eps)puts("No");
            else puts("Yes");
        }
    }
}

void File(){
    freopen("a.in","r",stdin);
    freopen("a.out","w",stdin);
}

int main(void){
    //File();
    input();
    return 0;
}


解决TextMeshPro在AB打包中的字体冗余问题:源码修改全记录 本文详细介绍了如何解决TextMeshPro在AB打包中的字体冗余问题,通过源码改造和工程实践优化Unity项目的性能。内容包括资源加载路径重构、AB打包策略优化及运行时加载方案,有效减少包体体积和构建时间,提升内存效率。 阅读详情

相关推荐

关于Arduino中的常用函数

一、I/O函数 二、时间函数 三、数学函数 abs 返回其参数的无符号值 【abs(12)返回12,abs(-12)也返回12】 constrain 限制一个数字以阻止它超出范围。第一个参数是被限制的数字,第二个参数是范围区间的开始,第三个参数是允许的数字范围区间的结尾。 【constrain(8,1,10)返回8,constrain(11,1,10)返回10,constrain(0,1,10)返回1】 map 将一个范围内的数字映射到另一个范围。第一个参数是要映射到数字,第二个和第三个参数是from范围(

TREE的博客 7322

(计算几何)HDU 6127 Hard challenge

HDU 6127 Hard challenge(http://acm.hdu.edu.cn/showproblem.php?pid=6127)题意平面坐标系,给出n个点,保证任意两点的连线不过原点. 每一个点都有一个权值,两点之间的线段的权值等于端点权值之积 问如果过原点做一条直线,直线穿过的线段的权值和最大是多少解决这道题我们卡住了,想到了要用极角排序来做,也想到了去枚举每一个经过原点和点的直

ZhangYang 763

X猫免费小说安卓逆向分析

七猫免费小说安卓逆向分析 难度(♥♥) 文章目录七猫免费小说安卓逆向分析 难度(♥♥)1. 查壳2. 抓包分析3. sign1. Frida-rpc2. Native函数分析快3点了. 睡觉~ 白天再继续写! 1. 查壳 我这边使用的是ApkTool, 拖进去显示未加壳。 2. 抓包分析 POST https://xiaoshuo.wtzw.com/api/v1/login/index HTTP/1.1 net-env: 1 channel: qm-cbcpa056_wm is-white: 0 platf

Qiled的博客 4367

HDU - 2671(计算几何)

问题描述:  I'm sure this problem will fit you as long as you didn't sleep in your High School Math classes.  Yes,it just need a little math knowledge and I know girls are always smarter than we expeted.

wust_cyl的博客 768

Autosar Os降低CPU负载的方案总结

由于各个项目的实际场景不尽相同,可能需要有针对性的对症优化。如果你还有别的一些优化手段欢迎留言交流。

3677

SpeedyBee F405 V3 50A飞塔装机全攻略:从开箱到首飞避坑指南

本文提供SpeedyBee F405 V3 50A飞塔的详细装机指南,涵盖从开箱检查、硬件焊接、软件配置到安全首飞的全流程。重点剖析了电源连接、固件刷写等高频故障点,帮助FPV新手避开常见陷阱,确保一次成功组装并安全起飞。

weixin_29179311的博客 416

HDU 6354(计算几何)

传送门 题面: Everything Has Changed Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 244    Accepted Submission(s): 125Special Judge Problem De...

Chen.Jr的博客 1069

Open3D——平面点云凸多边形轮廓提取【2025最新版】

平面点云凸多边形轮廓提起,博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 6753

HDU 1071 The area(计算几何)

Description 二维平面有一条直线与一条开口向下的抛物线相交,现在给出抛物线顶点以及两个交点,求出直线与抛物线围成的面积,保证数据合法 Input 第一行为用例组数T,每组用例占三行分别输入抛物线顶点P1,左交点P2以及右交点P3的横纵坐标 Output 输出直线与抛物线围成的面积 Sample Input 2 5.000000 5.000000 0.000000 0.0

ZSQ 1062

【CANdelaStudio编辑CDD】-21.2-创建OBD诊断$03,$07,$0A和$04服务以及OBD DTC

案例背景(共11页精讲):创建OBD诊断$03,$07,$0A和$04服务;以及OBD DTC。 在《【ISO15031_OBD诊断】-3.1-$03服务Request emission-related diagnostic trouble codes理论部分https://blog.youkuaiyun.com/qfmzhu/article/details/122157513》, 《【ISO15031_OBD诊断】-7.1-$07服务Request emission-related diagnostic trou

「汽车电子助手」的博客 1697

【图像去噪】论文复现:灵感源自MAE!进一步解决BSN的局限性,破坏真实噪声的空间相关性!AMSNet的Pytorch源码复现,跑通源码,原理详解!

论文题目:Asymmetric Mask Scheme for Self-Supervised Real Image Denoising —— 自监督真实图像去噪的非对称掩码方案【图像去噪】论文精读:Asymmetric Mask Scheme for Self-Supervised Real Image Denoising(AMSNet)AMSNet是基于PyTorch Lightning CLI深度学习框架编写的,比较适合复杂的大型任务,复用很方便,但是安装和环境配置问题太多。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 546

hdu3007Buried memory 最小圆覆盖 计算几何

链接:http://acm.hdu.edu.cn/showproblem.php?pid=3007 Problem Description Each person had do something foolish along with his or her growth.But,when he or she did this that time,they could not predi

一七得七 2087

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ACM-计算几何之Cupid's Arrow——hdu1756

ACM 计算几何 Cupid's Arrow hdu1756 点在多边形内 射线法 射线法详解

继续激情,继续奋斗。 3189

STM32F407中文手册

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

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

HDU 1756 Cupid's Arrow 计算几何

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1756    判断点是否在多边形内部    从点p做一条射线,看射线和多边形的交点有几个,奇数个为相交,偶数个不相交。。。 #include #include #include #include #include #include #include #include using namespace

CSUST_ACM的专栏 1266

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

hdu 1756 Cupid's Arrow(计算几何)

题目链接:hdu 1756 Cupid's Arrow 题意: 顺时针给你n个点,然后m个询问,问你给出的点是否在n个点构成的多边形的内部。 题解: 直接上模板。 1 #include<bits/stdc++.h> 2 #define F(i,a,b) for(int i=a;i<=b;++i) 3 #define MAXN 1007 4 #def...

weixin_30407099的博客 154

hdu 1756 Cupid's Arrow (计算几何,点是是否完全在多边形内)

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1756 Cupid's Arrow Problem Description 传说世上有一支丘比特的箭,凡是被这支箭射到的人,就会深深的爱上射箭的人。 世上无数人都曾经梦想得到这支箭。Lele当然也不例外。不过他想,在得到这支箭前,他总得先学会射箭。 日子一天天地过,Lele的箭术也越来越强,渐...

Source_Roc 216

[HDU1756]Cupid's Arrow(计算几何-点在多边形内部)

题目: 我是超链接 题解: HDU的中文题?! 一看这个题不就是点在多边形内的裸题吗,为什么要发呢? 因为这个题目的图形不一定是凸多边形啊! 有什么关系呢?就是我们判断的时候不能只判断P点到AB的距离是不是0了,即不能仅仅判断是否共线,而是需要进一步用点积判断,就是下面这个图啦 那正确的判断姿势应该是。。 bool is_online(po p,po a,po b) {

薇小薇 370

hdu 1756:Cupid's Arrow(计算几何,判断点在多边形内)

Cupid's Arrow Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 849    Accepted Submission(s): 306 Problem Description 传说世上有一支丘比特的箭,凡是被这支箭射到的人,...

weixin_34018169的博客 119

HDU1756 Cupid's Arrow (判断点在多边形内) 省赛训练3 计算几何

Cupid’s ArrowTime Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1781    Accepted Submission(s): 661Problem Description 传说世上有一支丘比特的箭,凡是被这支箭射到的人,就会深深...

qq_27151549的博客 231

HDU1756 Cupid's Arrow平面几何

http://acm.hdu.edu.cn/showproblem.php?pid=1756   Cupid's Arrow Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3177    Accepted Sub...

lanshan1111的博客 272

HDU 1756 Cupid's Arrow(判定点在多边形内)

HDU 1756 Cupid's Arrow(判定点在多边形内) http://acm.hdu.edu.cn/showproblem.php?pid=1756 题意:        给你一个n个顶点的多边形,然后给你m个点的坐标,问你这m个点每个点是否在多边形内?(在边上也算) 分析:        对于简单多边形(边不自交)有两种方法可以判断,第一种是看该点与多边形每条边构成的三角形面

code 1262

HDU 1756 点在多边形内 Cupid's Arrow

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1756 分析:[射线法]           从已知点向x+oo远处向一水平射线,判断射线与多边形的交点个数,           若为偶数,则点在多边形外,反之则在多边形内。           注意几种特殊情况:                  1、边和射线共线;

PWZER 1152

HDU1756:Cupid's Arrow

射线法判点是否在多边形内

AbZoey's Blog 573

hdu 1756 Cupid's Arrow 点在多边形内部判定

题目地址:hdu1756

Jingqi@Mr.B的ACM博客 777

HDU 1756 Cupid's Arrow 判断点在多边形的内部

Cupid's Arrow Time Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1163Accepted Submission(s): 425 Problem Description 传说世上有一支丘比特的箭,凡是被...

dizhuo0219的博客 204
上一篇: hdu 1287 破译密码 水题
下一篇: hdu 3629 Convex 计算几何
_NMfloat_
博客等级 码龄12年 7粉丝 315原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值