poj 3304 Segments(判断线段和直线相交)

PP-OCRv6 ONNX部署的官方和手搓方案 PP-OCRv6 基于全新设计的 PPLCNetV4 统一骨干网络,提供 tiny、small、medium 三档模型,分别面向端侧/IoT、移动端/桌面端、服务端场景。在内部多场景综合评估集上,PP-OCRv6_medium 相比 PP-OCRv5_server 识别精度提升 5.1%、检测精度提升 4.6%,同时 GPU 推理速度提升 2.37×;以仅 34.5M 参数的规模,精度超越 Qwen3-VL-235B、GPT-5.5 等大型视觉语言模型。 阅读详情

题目链接:点击打开链接


题意:给出一些线段,判断是否存在一条直线,使所有线段在这条直线上的投影都有公共部分(project是投影的意思)


如果有公共部分,那么做这公共部分的垂线一定经过所有线段,本题数据量只有100,所以可以枚举任意两个端点看是否穿过所有线段。

判断线段相交可以参考这里:判断线段相交


本题是判断线段和直线相交,所以当叉积等于0时就可以确定端点在直线上,但如果是线段就不行,还需判断端点是否在线段上,因为可能在线段延长线上。


枚举两端点时需要注意要判断两端点是否重合,如果重合,对于一个点所有的线段算叉积一定等于0,WA了几次。


代码:

#include <iostream>
using namespace std;
#include <cstdio>
#include <cstring>
#define eps 1e-8
int n,len;
struct Point{
    double x,y;
    Point(){}
    Point(double x,double y):x(x),y(y){}
    Point operator - (Point obj){
        return Point(x-obj.x,y-obj.y);
    }
}P[300];


double fabs(double n){
    return n>0?n:-n;
}

struct seg{
    Point a,b;
}S[105];

double Cross(Point a,Point b){
    return a.x*b.y-b.x*a.y;
}


double Dot(Point a,Point b){
    return a.x*b.x+a.y*b.y;
}
int dcmp(double a){
    if(fabs(a)<eps) return 0;
    return a>0?1:-1;
}
bool Seginter(Point a,Point b,Point c,Point d){
    double t1=Cross(a-d,c-d);
    double t2=Cross(b-d,c-d);

    return (dcmp(t1)*dcmp(t2)<=0);
}


bool solve(){
    for(int i=1;i<=len;i++){
        for(int j=i+1;j<=len;j++){
            if(!dcmp(P[i].x-P[j].x)&&!dcmp(P[i].y-P[j].y))continue;
            for(int k=1;k<=n;k++){
            if(!Seginter(S[k].a,S[k].b,P[i],P[j])) break;
            if(k==n) return 1;
            }
        }
    }
    return 0;
}

void init(){
    int pnum=0;
    for(int i=1;i<=n;i++){
        scanf("%lf%lf%lf%lf",&S[i].a.x,&S[i].a.y,&S[i].b.x,&S[i].b.y);
        P[++pnum]=S[i].a;
        P[++pnum]=S[i].b;
    }
    len=pnum;
}

int main(){
    int T;
    cin>>T;
    while(T--){
        scanf("%d",&n);
        init();
        if(solve()) printf("Yes!\n");
        else printf("No!\n");
    }
    return 0;
}


tkinter动态表格 - 实时更新数据(TkinterTable) tkinter动态表格 - 实时更新数据(TkinterTable) 参考 [TkinterTable] Tkinter上的表格GUI】 https://github.com/dmnfarrell/tkintertable/wiki/Usage https://github.com/dmnfarrell/tkintertable/issues/47 python使用tkinter编写一个数据显示窗口(实时显示更新的数据) 首先安装TkinterTable,即pip install tki 阅读详情

相关推荐

GCdepth散点图绘制

基因组组装完成后,需要对组装结果进行评估,其中GC_depth图是一个比较重要的指标,改图的横坐标是GC含量,纵坐标是平均深度。以30k为窗口(window)无overlap计算其GC含量和平均深度。如果存在样品污染,通常能够从GC含量分析中呈现出来。下文探索了几种绘制GC_depth散点图的方法思路。

huangliangbo的专栏 8993

poj 3304 题解

题意:给出n条线段,判断是否存在一条直线,使所有线段在该直线上的投影有公共点,是则输出“Yes!”,否则输出“No!”   1<=n<=100,多组测试数据 题解:题目可转化为是否存在一条直线与所有线段都相交(这条直线与题目中所要求的直线垂直)。假如存在这样一条直线,我们显然可以通过移动这条直线使得它与某两条线段的某两个端点相交,则直接枚举线段端点,判断是否符合条件即可,复杂度O(...

weixin_30508241的博客 149

毕业设计——基于卷积神经网络的高速公路团雾智能识别系统设计与实现(数据集+源码+可视化+综述)

同时,也可以结合其他技术,如雷达、红外传感器等,实现多源信息的融合与协同处理,提高系统的可靠性和稳定性。实验结果表明,该系统能够实现对高速公路团雾的准确、快速识别,为高速公路的安全运行提供了有力保障。团雾作为一种常见的气象现象,具有突发性、局地性和消散迅速的特点,对高速公路的行车安全构成严重威胁。通过设计合适的网络结构,如增加卷积层、池化层等,实现对图像中团雾特征的自动学习和提取。预处理:对采集到的图像进行去噪、增强等预处理操作,以提高图像质量,降低后续处理的难度。读取数据,随机分为训练集和验证集。

abackcab的博客 665

POJ-3304 Segments (判断是否存在一条直线交所以线段)

问题: Givennsegments in the two dimensional space, write a program, which determines if there exists a line such that after projecting these segments on it, all projected segments have at least one p...

slark_的博客 200

玩转肺癌目标检测数据集Lung-PET-CT-Dx ——①从TCIA获取影像数据集

该目标检测公共数据集源自 The Cancer Imaging Archive(TCIA),是肿瘤研究方面的著名的医学影像公开数据库。 数据以 DICOM 格式存储,由肺癌受试者的 CT 和 PET-CT DICOM 图像组成。

takedachia的博客 1万+

别再死记硬背公式了!用Unity ShaderGraph从零实现一个皮肤SSS效果(附完整节点图)

本文详细介绍了如何利用Unity ShaderGraph零代码实现皮肤次表面散射(SSS)效果,包括背光透射(BTDF)和表面散射(BSSRDF)的核心原理与节点构建方法。通过可视化工具,技术美术师和Shader初学者可以直观理解光线在皮肤组织中的散射行为,快速创建真实的皮肤材质效果,适用于游戏角色渲染等场景。

weixin_30838873的博客 590

POJ 3304 Segments(在直线上投影有公共点,直线和线段交)

Segments Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14289 Accepted: 4556 Description Given n segments in the two dimensional space, write a program,

不积跬步无以至千里 483

Git下载与安装

一、Git下载 二、Git安装

欢迎订阅我的“JAVA全栈开发笔记(全)”专栏,价格优惠,仅需19.9元。 6万+

poj 3304 判断是否存在一条直线与所有线段相交

Segments Time Limit:1000MS Memory Limit:65536K Total Submissions:8579 Accepted:2608 Description Givennsegments in the two dimensional space, write a program, wh...

weixin_30746117的博客 142

Allegro如何设置走线自动删除重复走线操作指导

Allegro如何设置走线是自动删除重复走线操作指导在PCB布线的时候,点到点需要重复走一段线的时候,希望原来的线段自动被删除,Allegro设计的时候支持这个操作如下图,重复走中间的线段的时候,希望下方的走线自动删除具体操作如下This section is describe what the function allegro have ,helpfully could let user know more about allegroAllegro Design and Analysis includes

weixin_54787054的博客 4497

基于RK3588平台的高分辨率多摄像头系统深度优化:从48M单摄到双摄分时复用的完整解决方案

本文深入解析了RK3588平台的高分辨率摄像头实现方案。重点介绍了:1)RK3588的MIPI PHY硬件架构,包括DCPHY和DPHY的资源配置及工作模式;2)双ISP合成技术,通过并行处理提升48M高分辨率图像的处理能力;3)以OV50C40传感器为例,详细展示了48M单摄系统的硬件连接、I2C设备配置和关键参数设置。文章为开发者提供了从硬件连接到软件配置的完整技术方案,有助于实现高性能嵌入式视觉系统。

FJN110的博客 673

POJ 3304 Segments [判断线段和直线相交]

题目链接:http://poj.org/problem?id=3304 题目的意思比较有

921

基于物联网技术设计的微型消防小车控制系统(STM32+ESP8266局域网)(181)

基于物联网技术的小微型消防车控制系统。通过远程控制功能,用户能够灵活操作消防车的行驶,方便快速抵达火灾现场。环境感知功能实时采集烟雾浓度、温湿度信息,为灭火决策提供科学依据。火源定位功能采用自动和手动两种模式,准确迅速地定位火源,并通过报警提示用户。灭火功能则根据火源定位结果,自动或手动启动干粉灭火器进行高效灭火。这些功能的结合实现了对小型火灾的全面应对,提升了消防效率与安全性,减少了火灾带来的损失。通过本项目的设计与实现,为消防领域提供了一种创新且实用的解决方案。

3079

判断直线与线段相交 POJ 3304 Segments

题意:在二维平面中,给定一些线段,然后判断在某直线上的投影是否有公共点。 转化,既然是投影,那么就是求是否存在一条直线L和所有的线段都相交。 证明: 下面给出具体的分析:先考虑一个特殊的情况,即n=1的时候,如下图,线段AB在直线L上的投影为线段A'B',则过任意介于A'B'之间的点C'做直线L的垂线必交线段AB与一点C;反之,过线段AB之间任意一点C做直线L的垂线,垂足必定落...

dizhuo0219的博客 311

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Segments POJ - 3304 判断直线与线段相交

题目链接:https://vjudge.net/problem/POJ-3304 转自:https://blog.youkuaiyun.com/sdsy191553/article/details/83067586 题意:给多条线段,问能否找到一条直线,将所有线段投影到上面后有至少一个公共交点。 思路:假设存在直线,对直线做垂线,当垂线在投影的公共区域时,它会经过所有线段。 问题变成了找这样的一条可以经过所有...

A 406

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【POJ - 3304 Segments】 直线线段相交判断

C - Segments   Given n segments in the two dimensional space, write a program, which determines if there exists a line such that after projecting these segments on it, all projected segments

于心有愧丶 699

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

POJ 3304 Segments (判断直线与线段相交)

题目链接:POJ 3304 Problem Description Given n segments in the two dimensional space, write a program, which determines if there exists a line such that after projecting these segments on it, all pro...

G19850917的博客 232

【POJ-3304-Segments】 判断线段与直线相交情况

POJ-3304-Segments 题意 给你n条线段,求是否有一条直线,满足所有直线在其上面的投影有公共的交点 1&amp;lt;=n&amp;lt;=1001&amp;lt;=n&amp;lt;=1001&lt;=n&lt;=100 做法 首先如果投影有公共的交点,那么如果在那个公共的交点上做垂线,肯定会穿过n条线段,所以我们只要看是否存在一条直线与所有线段都相交即可,而与这n条线断都相交的直...

lajiyuan的博客 274

POJ 3304 Segments 判断直线与线段相交

题意:给你一些线段 问你它们的投影有没有一部分可以重叠在一起 思路:投影重叠在一起 其实也就是是否存在一条直线 使得它与所有线段都相交 注意这里相交并不是单纯的规范相交 那么如何判断线段与直线非规范相交呢 我们找到直线上两个点a1 a2 对于一条线段b1 b2如果Cross(a2 - a1, b1 - a1) * Cross(a2 - a1, b2 - a1) 对于几何题 清晰的思路以及可读

s_h_r 446

POJ 3304 Segments (直线和线段相交判断)

Segments Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14264   Accepted: 4546 Description Given n segments in the two dimensional space, write a program, w

超越自我就是成功 526

poj3304Segments【判断直线与多条线段相交】

Language: Default Segments Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11026   Accepted: 3456 Description Given n segments in the two dimensional space

走一步再走一步 670

poj 3304 Segments 【判断是否存在一条直线与所有线段相交】

Segments Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11471   Accepted: 3612 Description Given n segments in the two dimensional space, write a program,

世界很大 606

POJ 3304 Segments [计算几何,判断直线和线段相交]

题目 Given n segments in the two dimensional space, write a program, which determines if there exists a line such that after projecting these segments on it, all projected segments have at least one point in common. Input Input begins with a number T showing

sehnsucht 185

POJ 3304 Segments(判断直线与线段是否相交)

http://poj.org/problem?id=3304 等价于是否存在一条直线穿过所有线段 判断直线与线段是否相交: 首先用两点p1,p2确定了一条直线 在用p1,p2分别与计算线段两个端点计算叉乘即可 ,叉乘之积>0就说明线段两端点在直线的同侧,也就是直线不经过此线段 注意顺序不要搞反了 #include<iostream> #include<...

weixin_30659829的博客 128

POJ 3304 Segments(思维+判断直线和线段相交关系)

题目链接 Given n segments in the two dimensional space, write a program, which determines if there exists a line such that after projecting these segments on it, all projected segments have at least one p...

Happig的博客 250

POJ 3304 Segments 判断直线和线段相交

POJ 3304 Segments 题意:给定n(n<=100)条线段,问你是否存在这样的一条直线,使得所有线段投影下去后,至少都有一个交点。 思路:对于投影在所求直线上面的相交阴影,我们可以在那里作一条线,那么这条线就和所有线段都至少有一个交点,所以如果有一条直线和所有线段都有交点的话,那么就一定有解。 怎么确定有没直线和所有线段都相交?怎么枚举这样的直线?思路就是固定两个点,这两...

weixin_30532369的博客 129
上一篇: poj 2318 TOYS(判断点在多边形内+二分查找)
下一篇: acdream(18) Integration of Polynomial
Baoli1008
博客等级 码龄12年 70粉丝 293原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值