(POJ 2318)TOYS 向量叉积

时间:2021-08-01 05:08:39

题目链接:http://poj.org/problem?id=2318

#include<stdio.h>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<queue>
#include <stack>
using namespace std;
#define ll long long
#define INF 0x3f3f3f3f
#define met(a,b) memset(a,b,sizeof(a))
#define N 5010
struct point
{
int x,y;
}a;
struct lint
{
point a,b;
}s[N];
int ans[N];
int pan(point a,point p,point p1)
{
return (a.x - p1.x)*(p.y - p1.y)-(p.x-p1.x)*(a.y-p1.y);
///判断点a在点p与点p1连线的哪边,利用向量的叉积 p相对啊左转为正 }
void erfen(point a,int n)
{
int l=,r=n-;
while(l<r)
{
int mid=(l+r)/;
if(pan(a,s[mid].a,s[mid].b)>)
l=mid+;
else
r=mid;
}
if(pan(a,s[l].a,s[l].b)<)
ans[l]++;
else
ans[l+]++;
}
int main()
{
int n,m,x1,y1,x2,y2;
int u1,l1;
while(scanf("%d",&n),n)///以0为结束标志
{
scanf("%d %d %d %d %d",&m,&x1,&y1,&x2,&y2);
met(ans,);
for(int i=;i<n;i++)
{
scanf("%d %d",&u1,&l1);
s[i].a.x=u1;
s[i].a.y=y1;
s[i].b.x=l1;
s[i].b.y=y2;
}
for(int i=;i<m;i++)
{
scanf("%d %d",&a.x,&a.y);
erfen(a,n);
}
for(int i=;i<=n;i++)
{
printf("%d: %d\n",i,ans[i]);
}
puts("");
}
return ;
}

(POJ 2318)TOYS 向量叉积的更多相关文章

  1. POJ 2318 TOYS(叉积&plus;二分)

    题目传送门:POJ 2318 TOYS Description Calculate the number of toys that land in each bin of a partitioned ...

  2. poj 2318 TOYS &lpar;二分&plus;叉积&rpar;

    http://poj.org/problem?id=2318 TOYS Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 101 ...

  3. POJ 2318 TOYS 利用叉积判断点在线段的那一侧

    题意:给定n(<=5000)条线段,把一个矩阵分成了n+1分了,有m个玩具,放在为位置是(x,y).现在要问第几个位置上有多少个玩具. 思路:叉积,线段p1p2,记玩具为p0,那么如果(p1p2 ...

  4. POJ 2318 TOYS【叉积&plus;二分】

    今天开始学习计算几何,百度了两篇文章,与君共勉! 计算几何入门题推荐 计算几何基础知识 题意:有一个盒子,被n块木板分成n+1个区域,每个木板从左到右出现,并且不交叉. 有m个玩具(可以看成点)放在这 ...

  5. 向量的叉积 POJ 2318 TOYS &amp&semi; POJ 2398 Toy Storage

    POJ 2318: 题目大意:给定一个盒子的左上角和右下角坐标,然后给n条线,可以将盒子分成n+1个部分,再给m个点,问每个区域内有多少各点 这个题用到关键的一步就是向量的叉积,假设一个点m在 由ab ...

  6. poj 2318 TOYS &amp&semi;amp&semi; poj 2398 Toy Storage &lpar;叉积&rpar;

    链接:poj 2318 题意:有一个矩形盒子,盒子里有一些木块线段.而且这些线段坐标是依照顺序给出的. 有n条线段,把盒子分层了n+1个区域,然后有m个玩具.这m个玩具的坐标是已知的,问最后每一个区域 ...

  7. 简单几何&lpar;点与线段的位置&rpar; POJ 2318 TOYS &amp&semi;&amp&semi; POJ 2398 Toy Storage

    题目传送门 题意:POJ 2318 有一个长方形,用线段划分若干区域,给若干个点,问每个区域点的分布情况 分析:点和线段的位置判断可以用叉积判断.给的线段是排好序的,但是点是无序的,所以可以用二分优化 ...

  8. POJ 2318 TOYS &amp&semi;&amp&semi; POJ 2398 Toy Storage(几何)

    2318 TOYS 2398 Toy Storage 题意 : 给你n块板的坐标,m个玩具的具体坐标,2318中板是有序的,而2398无序需要自己排序,2318要求输出的是每个区间内的玩具数,而231 ...

  9. POJ 2318 TOYS (计算几何,叉积判断)

    TOYS Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8661   Accepted: 4114 Description ...

随机推荐

  1. &lbrack;转载&rsqb;Web前端开发工程师编程能力飞升之路

    [背景] 如果你是刚进入web前端研发领域,想试试这潭水有多深,看这篇文章吧:如果你是做了两三年web产品前端研发,迷茫找不着提高之路,看这篇文章吧:如果你是四五年的前端开发高手,没有难题能难得住你的 ...

  2. Network Wars-ZOJ2676最小割&plus;01规划

    Time Limit: 5 Seconds Memory Limit: 32768 KB Special Judge Network of Byteland consists of n servers ...

  3. 泛型(Generic)

    本质:限制集合类型 我们在编写泛化类的时候,我们要时刻提醒自己,我们传入的参数T仅仅是一个Object类型,任何具体类型信息我们都是未知的. 小例子: package day02.generic; i ...

  4. 写js写傻了,明天研究一下异步

    在html某元素上绑定一个click事件,该事件是一个执行事件很长的函数,比如执行几十亿或几百亿次加法,那么在这个函数执行的过程中,其他元素绑定的事件,是如何触发的呢,异步触发还是同步,触发时是怎么执 ...

  5. 浅谈PHP与手机APP开发(API接口开发)

    了解PHP与API开发 一.先简单回答两个问题: 1.PHP 可以开发客户端? 答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发.(别去纠结 GTK ...

  6. 黄聪:VPS实现自动定时备份网站数据以及Mysql数据库到百度云同步盘

    建站多了,备份成了头疼的问题,因为你不知道你的VPS什么时候会宕机或者服务商跑路,一旦网站数据丢失,那么相当于前功尽弃了,所以自己研究出了一套自动备份的方法. 需要的东西: 1.一个VPS(虚拟空间没 ...

  7. Ubuntu 14&period;04 配置iptables防火墙

    Ubuntu默认安装是没有开启任何防火墙的,为了服务器的安全,建议大家安装启用防火墙设置,这里推荐使用iptables防火墙.如果mysql启本地使用,可以不用打开3306端口. # whereis ...

  8. Unity外包团队:Daydream控制器只提供了3个*度

    HTC Vive,Oculus Rift以及微软即将推出的MR头显都拥有6*度的运动控制器,这意味着你在虚拟世界中可以任意摆动你的手.然而,Daydream控制器只提供了3个*度,这对于手部运动具 ...

  9. Android提供的layout文件存放位置

    在编程的过程中,会用到android.R.layout下的一些常量.与这些常量对应的,Android提供了对应点的layout布局文件. android.jar中有对应的xml文件,但是打开的时候通常 ...

  10. gtid&lowbar;executed和gtid&lowbar;purged变量是如何初始化的

    一.官方释义 1.1.gtid_executed.gtid_purged https://dev.mysql.com/doc/refman/5.7/en/replication-options-gti ...