题目大意:和 TOY题意一样,但是需要对隔板从左到右进行排序,要求输出的是升序排列的含有i个玩具的方格数,以及i值。

题目思路:判断叉积,二分遍历

#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
#include<stdio.h>
#include<stdlib.h>
#include<queue>
#include<math.h>
#include<map>
#define INF 0x3f3f3f3f
#define MAX 100005
#define Temp 1000000000
#define MOD 1000000007 using namespace std; struct node1
{
int ans;//ans记录方格内玩具数
}a[MAX]; struct node2
{
int up,down;//up为上方x坐标,down为下方x坐标
}b[MAX]; int x[MAX],y[MAX],n,m,X1,Y1,X2,Y2,num[MAX];//num记录内有i个玩具的方格数 int cmp(struct node2 A,struct node2 B)
{
if(A.up!=B.up)
return A.up < B.up;
return A.down < B.down;
} void Init()
{
for(int i=;i<=n;i++)
{
a[i].ans=;
}
memset(num,,sizeof(num));
} int check(int pos,int x1,int y1)//叉积
{
int x3=b[pos].up,x2=b[pos].down,y2=Y1,y3=Y2;
return (x1-x3)*(y3-y2)-(x3-x2)*(y1-y3);
} void Find(int pos)//二分查找隔板
{
int x1=x[pos],y1=y[pos],L=,R=n-;
while(L < R)
{
int Mid=(L+R)/;
if(check(Mid,x1,y1) < )
L=Mid+;
else
R=Mid;
}
if(check(L,x1,y1)>)
a[L].ans++;
else
a[L+].ans++;
} int main()
{
int maxn;
while(scanf("%d",&n),n)
{
Init();
maxn=;
scanf("%d%d%d%d%d",&m,&X1,&Y1,&X2,&Y2);
for(int i=;i<n;i++)
scanf("%d%d",&b[i].down,&b[i].up);
sort(b,b+n,cmp);
for(int i=;i<m;i++)
scanf("%d%d",&x[i],&y[i]);
for(int i=;i<m;i++)//二分查找
{
Find(i);
}
printf("Box\n");
for(int i=;i<=n;i++)
{
num[a[i].ans]++;
maxn=max(maxn,num[a[i].ans]);
}
for(int i=;i<=maxn;i++)
if(num[i]!=)
printf("%d: %d\n",i,num[i]);
}
return ;
}

Toy Storage POJ 2398的更多相关文章

  1. (叉积)B - Toy Storage POJ - 2398

    题目链接:https://cn.vjudge.net/contest/276358#problem/B 题目大意:和上一次写叉积的题目一样,就只是线不是按照顺序给的,是乱序的,然后输出的时候是按照有三 ...

  2. POJ 2398 - Toy Storage 点与直线位置关系

    Toy Storage Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5439   Accepted: 3234 Descr ...

  3. poj 2398 Toy Storage(计算几何)

    题目传送门:poj 2398 Toy Storage 题目大意:一个长方形的箱子,里面有一些隔板,每一个隔板都可以纵切这个箱子.隔板将这个箱子分成了一些隔间.向其中扔一些玩具,每个玩具有一个坐标,求有 ...

  4. 简单几何(点与线段的位置) POJ 2318 TOYS && POJ 2398 Toy Storage

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

  5. POJ 2398 Toy Storage(计算几何,叉积判断点和线段的关系)

    Toy Storage Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3146   Accepted: 1798 Descr ...

  6. POJ 2318 TOYS && POJ 2398 Toy Storage(几何)

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

  7. poj 2398 Toy Storage(计算几何 点线关系)

    Toy Storage Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4588   Accepted: 2718 Descr ...

  8. 向量的叉积 POJ 2318 TOYS & POJ 2398 Toy Storage

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

  9. 2018.07.04 POJ 2398 Toy Storage(二分+简单计算几何)

    Toy Storage Time Limit: 1000MS Memory Limit: 65536K Description Mom and dad have a problem: their ch ...

随机推荐

  1. luci页面“save&apply”的实现分析

    页面上配置的“保存&应用”功能的实现: 最终调用到/etc/config/ucitrack的配置文件. 例如配置无线时,对应ucitrack配置文件中的config network    op ...

  2. marble 基本函数(一)

    . 标记 GeoDataPlacemark *place = new GeoDataPlacemark( "Bucharest" ); place->setCoordinat ...

  3. MySQL-MHA高可用方案

    http://files.cnblogs.com/jimingsong/mha-mysql.pdf 此方案为一号店MySQL MHA高可用方案.备注.

  4. 2015 Multi-University Training Contest 6

    1001 Average 忍不住又补了一题. 只要枚举1与2之间1给2,2给1,什么都不做三种状态. 后面的情况都已经决定了. (估计只有我比赛的时候把a candy当成a个糖果了吧QAQ) # in ...

  5. 通过Maven配置测试环境和开发环境连接不同的数据库

    通过Maven配置测试环境和开发环境连接不同的数据库   作者及来源: 通灵宝玉 - 博客园    收藏到→_→: 此文来自: 马开东博客 网址:http://www.makaidong.com   ...

  6. 域名、网站名、url的定义

    网址:http://jingyan.baidu.com/article/2c8c281df0afd00008252aa7.html

  7. php编译错误:Cannot find OpenSSL's <evp.h>

    yum install openssl openssl-devel ln -s /usr/lib64/libssl.so /usr/lib/

  8. Centos6.6安装Nginx

    1.在安装nginx之前,需要先安装该模块需要依赖包 yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel 2.安 ...

  9. 不安装oracle客户端,如何运行sqlplus

    1.软件下载 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html 下载如下三个包: oracle-instantc ...

  10. JQuery 多选按钮checkbox

    JQuery 多选按钮checkbox 在需要全选和选择部分的时候我们就需要多选在这里主要介绍了具体的实现 JQuery $(function () { //全选或全不选 $("#allbo ...