TOYS(水解析)

DO-254标准详解:航空电子硬件设计保证指南全方位解析 RTCA DO-254, 也被称为《机载电子硬件设计保证指南》,是航空电子硬件设计和验证中的关键标准,旨在为确保机载电子硬件的安全性提供设计保证。自2000年首次发布以来,DO-254就成为了民航和军用飞机中电子硬件设计认证的基准文件。随着航空硬件技术的进步和日益复杂化,确保硬件设计的准确性、可靠性和安全性变得至关重要。本标准是由RTCA和EUROCAE共同开发的,适用于涉及机载硬件的航空公司、飞机制造商、供应商和认证机构。 阅读详情

Calculate the number of toys that land in each bin of a partitioned toy box.
Mom and dad have a problem - their child John never puts his toys away when he is finished playing with them. They gave John a rectangular box to put his toys in, but John is rebellious and obeys his parents by simply throwing his toys into the box. All the toys get mixed up, and it is impossible for John to find his favorite toys.

John’s parents came up with the following idea. They put cardboard partitions into the box. Even if John keeps throwing his toys into the box, at least toys that get thrown into different bins stay separated. The following diagram shows a top view of an example toy box.

For this problem, you are asked to determine how many toys fall into each partition as John throws them into the toy box.
Input
The input file contains one or more problems. The first line of a problem consists of six integers, n m x1 y1 x2 y2. The number of cardboard partitions is n (0 < n <= 5000) and the number of toys is m (0 < m <= 5000). The coordinates of the upper-left corner and the lower-right corner of the box are (x1,y1) and (x2,y2), respectively. The following n lines contain two integers per line, Ui Li, indicating that the ends of the i-th cardboard partition is at the coordinates (Ui,y1) and (Li,y2). You may assume that the cardboard partitions do not intersect each other and that they are specified in sorted order from left to right. The next m lines contain two integers per line, Xj Yj specifying where the j-th toy has landed in the box. The order of the toy locations is random. You may assume that no toy will land exactly on a cardboard partition or outside the boundary of the box. The input is terminated by a line consisting of a single 0.
Output
The output for each problem will be one line for each separate bin in the toy box. For each bin, print its bin number, followed by a colon and one space, followed by the number of toys thrown into that bin. Bins are numbered from 0 (the leftmost bin) to n (the rightmost bin). Separate the output of different problems by a single blank line.
Sample Input
5 6 0 10 60 0
3 1
4 3
6 8
10 10
15 30
1 5
2 1
2 8
5 5
40 10
7 9
4 10 0 10 100 0
20 20
40 40
60 60
80 80
5 10
15 10
25 10
35 10
45 10
55 10
65 10
75 10
85 10
95 10
0
Sample Output
0: 2
1: 1
2: 1
3: 1
4: 0
5: 1

0: 2
1: 2
2: 2
3: 2
4: 2

一个矩形,用一堆连接上下两边的直线隔开,给出一些点坐标(保证不在直线上),问每个区域中包含点的个数。

强行算个解析几何吧……对于每个点,直接判断他是否在直线的左方就好了,如果它在i直线右方,(i+ 1)直线左方,那他就在这个区域了,更快一点用二分就可以,因为是单调的,不过我懒得写,写了个O(n)的。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<queue>
#include<vector>
#include<algorithm>
#include<string>
#include<cmath>
#include<set>
#include<map>
#include<vector>
#include<stack>
#include<utility>
#include<sstream>
using namespace std;
typedef long long ll;
const int inf = 0x3f3f3f3f;
const int maxn = 1005;
int n,m,x1,yy1,x2,y2;
int dp[5005];
struct Node
{
    int u,l;
    double k;
}node[5005];
double work(int x,int pnt)
{
    double k = (yy1 - y2)*1.0/(node[pnt].u - node[pnt].l);
    k = k*(node[pnt].u - x);
    k = yy1 - k;
    return k;
}
void prin()
{
    for(int i = 0;i <= n;i++)
        printf("%d: %d\n",i,dp[i]);
    cout<<endl;
}
int main()
{
    #ifdef LOCAL
    freopen("C:\\Users\\巍巍\\Desktop\\in.txt","r",stdin);
    //freopen("C:\\Users\\巍巍\\Desktop\\out.txt","w",stdout);
    #endif // LOCAL
    int kase = 1;
    while(scanf("%d%d%d%d%d%d",&n,&m,&x1,&yy1,&x2,&y2) != EOF)
    {
        if(n == 0)break;
        if(kase != 1)printf("\n");
        kase++;
        memset(dp,0,sizeof(dp));
        for(int i = 1;i <= n;i++)
        {
            scanf("%d%d",&node[i].u,&node[i].l);
            if(node[i].u != node[i].l)
                node[i].k = (yy1 - y2)*1.0/(node[i].u - node[i].l);
        }
        for(int i = 1;i <= m;i++)
        {
            int x,y;
            scanf("%d%d",&x,&y);
            bool ok = false;
            for(int j = 1;j <= n;j++)
            {
                if(node[j].u == node[j].l)
                {
                    if(x < node[j].u)
                    {
                        dp[j - 1]++;
                        ok = true;break;
                    }
                }
                else
                {
                    double yy = work(x,j);
                    if(node[j].k < 0 && y < yy)
                    {
                        dp[j - 1]++;ok = true;
                        break;
                    }
                    else if(node[j].k > 0 && y > yy)
                    {
                        dp[j - 1]++;ok = true;
                        break;
                    }
                }
            }
            if(!ok)
                dp[n]++;
            //prin();
        }
        for(int i = 0;i <= n;i++)
            printf("%d: %d\n",i,dp[i]);
    }
    return 0;
}
YOLOv8与Swin Transformer的完美结合:如何提升目标检测的精度与速度 Swin Transformer(Shifted Window Transformer)是一种新型的视觉Transformer架构,采用了局部窗口(Window)和局部窗口偏移(Shifted Window)的策略,极大减少了计算复杂度,同时保持了全局感知能力。局部窗口注意力:每个窗口内的元素进行自注意力计算,减少计算量。窗口偏移:通过在不同层次引入窗口偏移,增强了全局信息的交互。层级设计:通过堆叠多个层次的模块,逐渐捕捉不同尺度的特征。 阅读详情

相关推荐

绝缘检测是什么? 绝缘检测原理 绝缘检测检测的是什么?那个量?电压?电流?电阻?

绝缘电阻是电气设备和电气线路最基本的绝缘指标。对于低压电气装置的交接试验,常温下电动机、配电设备和配电线路的绝缘电阻不应低于0.5MΩ(对于运行中的设备和线路,绝缘电阻不应低于1MΩ/kV)。 绝缘电阻的正确测量方法 现代生活日新月异,人们一刻也离不开电。在用电过程中就存在着用电安全问题,在电器设备中,例如电机、电缆、家用电器等。 影响因素 环境温湿度 一般材料的绝缘电阻值随环境温湿度的升高而减小。相对而言,表面电阻(率)对环境湿度比较敏感,而体电阻(率)则对温度较为敏感。 湿度增加,表面泄漏增大,导体电导

dianqicyuyan的博客 2万+

POJ2318 (二分+叉积)

题目链接 题目大意:给你一个矩形和一些线段,给的这些线段将矩形分割为从左到右的若干个部分(不会相交,点不会再线上,题意给出了),之后给出一些玩具的坐标,求分割的若干部分每个部分的玩具数量。 题解:这是一个计算几何的水题,考一些基础问题,我们注意,题目上给线段的顺序是从左到右给出的,我们可以考虑的是每一个点(玩具)是在这条线的左边还是右边,(一定会存在一个分界使它的左边的线段都在玩具的右边,它右...

yuewenyao的博客 328

±10V ADC 输入电路的高共模差分输入电压

这篇文章分析了±10V ADC输入电路的设计需求与挑战,重点讨论了高共模差分输入电压的处理方案。文章首先明确了设计目标,即安全转换±10V差分信号并保持信号完整性,同时克服高共模电压、阻抗匹配和噪声优化等难点。随后详细比较了仪表放大器和差分放大器的性能特点,并提出了器件选型理论。在信号链架构部分,文章通过公式推导阐述了增益设置、共模抑制设计和输入阻抗匹配等关键技术。此外,还建立了噪声源模型,提出了噪声优化措施。最后,文章总结了设计验证方法,并扩展了在工业保护和生物电信号采集等场景的应用。该设计强调根据具体应

泛红尘的博客 1959

POJ 2318 (计算几何 叉积)

题目链接 题意:给你一个被n块挡板分隔成n+1个区域的盒子,给你m个点,问你每个区域有多少个点。 分析:这道题其实就是考对叉积的应用,计算矢量叉积是与直线和线段相关的算法的核心部分。 设矢量P = ( x1, y1 ),Q = ( x2, y2 ),则P × Q = x1*y2 - x2*y1,其结果是一个标量,对于叉积公式的推导,推荐参考这篇博客。 显然有性质 P × Q = - ( Q...

不期而遇 347

SATA硬件电路设计实战:从接口规范到高速布线技巧

本文深入探讨了SATA硬件电路设计的核心要点与实战技巧。从接口物理电气规范、AC耦合电容与阻抗控制等基础,到FPGA/SoC高速收发器选型配置,再到应对6Gbps高速信号的PCB布局布线艺术,系统性地解析了SATA电路设计中的关键挑战与解决方案,助力工程师规避常见陷阱,实现稳定可靠的存储接口设计。

tech5的博客 529

ICG setup timing violation介绍?

门控时钟(clock gating)在RTL级电路设计过程中进行低功耗优化常用方法,能够有效降低动态功耗(翻转功耗)。Clock gating cell 可以由与门,与非门,或门或者或非门构成,但很容易产生Glitch。在实际使用中,一般用ICG(集成门控时钟单元)来完成clock gating。 下图展示了glitch的产生原因 在CTS时钟树综合的时候,ICG不会被看作sink,通常放置在source点附近,因此就会出现如上图这种结果。上图可以看出,在分析DFF到ICG的setup timing

m0_61003348的博客 9803

POJ2318:二分+叉积

POJ2318 题解: n个纸板把矩形分成(n+1)个区域,m个玩具随机仍在里面,求每个区域的玩具的个数,区域编号从0开始到n。 二分查找点在哪个位置。如果点P在某条线段AB的左边(A在上面,B在下面),那么PA×PB<0。二分查找最近的线段的左边。 代码 #include <iostream> #include <cstdio> #include <...

FlyingJack 183

基于深度学习YOLOv8的PCB板缺陷检测系统

基于YOLOv8的PCB板缺陷检测系统,可以有效提高PCB生产过程中的检测效率。未来,我们可以进一步优化模型,结合更多的数据增强策略和先进的网络结构,以适应更复杂的生产环境。为了进行训练,理想的数据集应包含多种不同缺陷类型和不同背景的PCB图像。YOLOv8需要的数据格式为每个图像一个标签文件,每个标签文件包含缺陷的类别及其边界框坐标。运行该界面时,用户可以通过点击按钮选择图像,随后系统将自动检测图像中的PCB缺陷并显示结果。训练完成后,可以使用训练好的模型进行推理,检测新的PCB图像中的缺陷。

YOLO 1070

poj2318——计算几何

题意:给出矩形的左上和右下的坐标,在矩形中有n个木棒,木棒之间不会相交,然后给出木棒上下端点的横坐标,这些木棒将矩形分成多个区域,接着有m个玩具,给出玩具的坐标。输出在每个区域中玩具的个数。 思路:叉积判断点是否在四边形区域内。 向量的叉积: 向量的叉积性质可以用来判断点在直线的某侧。进而可以解决点是否在三角形内,两个矩形是否重叠等问题。向量的叉积的模表示这两个向量围成的平行...

小糊涂的博客 355

【AI大模型应用开发】教你用AI轻松将你的知识库变为知识图谱(附完整代码,直接运行)

本文我们来介绍如何使用AI,将自己的知识库自动转换为知识图谱,并进行可视化展示。

同学小张的博客 3925

RAG系统中Embedding模型选型实战

本文详细介绍了RAG系统中Embedding模型选型实战,希望能对学习RAG的同学们有所帮助。 文章目录 1. 前言 2. 思路解析 3. 测评数据集构建 3.1 步骤一 3.2 步骤二 3.3 数据示例 3.4 总结 4. 实战代码 4.1 本地模型 4.2 使用第三方的Embedding模型API

herosunly的博客 17万+

POJ 2318 计算几何 题解

POJ2318

onepointo 650

OV9734 DATASHEET,完整规格书

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

POJ2318---TOYS (基础计算几何:叉积应用)

【题目来源】:https://vjudge.net/problem/POJ-2318 【题意】 给出一个矩形的柜子,这个柜子有n个隔板,小孩手里有m个布偶,将娃娃都扔进去,问,被隔板分离出来的每个小空间里有几个娃娃? 给出n,m,和矩阵柜子的左上角坐标,与右下角的坐标,下面有n+m行,前n行给出隔板的上下两个横坐标,下面m行表示娃娃的所在位置,并且不会恰好在隔板上。 【思路】 利用叉积公式

Crazy 350

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

POJ 2318(计算几何 )

问题描述: Calculate the number of toys that land in each bin of a partitioned toy box.  Mom and dad have a problem - their child John never puts his toys away when he is finished playing with them. They

wust_cyl的博客 314

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

计算机图形学重要的数学知识

向量的点乘,向量的叉积,判断点在三角形内,图像变换

qq_43157227的博客 6643

简单理解Unity中叉乘的方向

由于Unity使用的是左手坐标系,所以我们这里采用左手定则来表示坐标系,如图 拇指方向为X轴正向,食指为Y轴正向,中指为Z轴正向 在叉乘计算方向的时候利用好这三根手指,可以很好的判断叉乘方向。 在调用Vector3.Cross时,**食指为传入的第一个向量,中指是第二个向量,拇指则是叉乘的方向了。**下面是具体的步骤 以食指代表的向量开始旋转,旋转到中指处,如果旋转的角度小于180度,那么向量的方向与拇指的方向是相同的;反之,发现食指顺时针旋转到中指后超过了180度,那么向量的方向就是拇指的反方向。 上图

Sator1的博客 7697

向量叉乘方向判断

转载:向量叉乘方向判断 a x b两个向量叉乘,可以获得垂直a,b的一个向量,但这个向量有两个方向,应该如何判断? 通过将a的头与a的尾相接,并检查a到b是顺时针还是逆时针,能够确定a x b的方向。在左手坐标系中,如果a和b呈顺时针,那么a x b指向您。如果a x b呈逆时针,那么a x b远离您。 而在右手坐标系中,如果a x b 呈顺时针方向,那么a x b远离您,如果a x b呈逆时针方向,那么a x b指向您。下图分别表示了顺时针方向和逆时针方向: ...

渣渣屋 3万+

向量叉乘的方向

a×b的方向:四指由a开始,指向b,拇指的指向就是a×b的方向,垂直于a和b所在的平面;b×a的方向:四指由b开始,指向a,拇指的指向就是b×a的方向,垂直于b和a所在的平面;a×b的方向与b×a的方向是相反的,且有:a×b=-b×a。可以根据这个判断是顺时针还是逆时针的。

averagePerson的博客 2万+

【POJ 2318】TOYS

1.题目链接。题目大意就是有一个矩形的盒子,里面被n条线段分割成了几个不同的区域,然后给出m个点的左边,输出一下每个区域里面格子落了多少个点。 2.分析:几何的基础题了 如果p在向量AB的左边,那么PA叉乘PB是一个负数,右手定则轻松解释。然后这个是具有单调性的,所以我们直接二分这个位置就行了。 #include <iostream>...

YG爱木木 272

poj - 2318 - TOYS

题意:将m个玩具扔进一个从左到右分成n个块的箱子中,问每个分块里有多少个玩具(箱子的左上角坐标为(x1, y1),箱子右下角坐标为(x2, y2),中间n条分隔栏的上坐标的横坐标为U[i],下坐标的横坐标为L[i])。 题目链接:http://poj.org/problem?id=2318 ——>>人生第一道ACM几何题目!翻了一下白书加强版——汝佳的《训练指南》,恰恰有判断点在多边形内的方法

无节操 1051

TOYS-POJ2318 简单几何,叉乘

TOYS-POJ2318 简单几何,叉乘 题意 把一个盒子用m个隔板隔开,给定n个点的坐标,问每一个区域中各有多少个点 思路 利用向量叉乘判断点在线的哪一边,当叉乘小于等于0时,点在线的左边,否则在右边 题目中 You may assume that the cardboard partitions do not intersect each other and that they are specified in sorted order from left to right. 表示了输入的隔板是排好

Charles Liu 199

【计算几何】POJ 2318 & POJ 2398

这道题的大意是,给定一个矩形,然后给你n条互不相交的从矩形上边的边连到下面的边的直线,将这个矩形分成n+1部分,现在有m个点,问你每个区域各有多少个点。于是这是道水到爆的计算几何基础题,只要把这些边排个序,然后用叉乘判断是否在这个区域里就可以了。附上我的AC代码:#include <cstdio> #include <cstdlib> #include <cmath> #include <cstri

Sprjdfn的学习笔记 460

POJ2318-toys(计算几何基础+二分)

题目:http://poj.org/problem?id=2318 题目大意:给定一个矩形和一些线段,线段将矩形分割为从左至右的若干部分,之后给出一些玩具的坐标,求每个部分中玩具的数量 题解: 计算几何水题…… 注意到题目给出线段是按从左至右的顺序给出的,考虑到对于每条直线,玩具只存在两种状态:在它左边或者在它右边,并且这种状态是单调的(一定存在一个分界,它左边的线段都在玩具右边,它右边的...

temp06的博客 1939

POJ-2318-TOYS(简单计算几何,两种做法)

TOYS Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 19721   Accepted: 9291 Description Calculate the number of toys that land in each bin of a partitioned toy box.  Mom...

lee371042的博客 390

POJ 2318(点集二分)

Language: Default TOYS Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8137   Accepted: 3848 Description 在长方形 (x1,y1) (x2,y2) 中有n块板(保证与上下边相交),和m个点。 现给

nike0good |Oier&ACMer | 熟能生巧 1290

poj2318 TOYS 【计算几何】【点和线的关系】

点和线简单题目

100days 1104
上一篇: Double Queue(SET水题)
下一篇: Food Delivery(区间DP)
Techay
博客等级 码龄11年 11粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值