题目大意:和 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. hdu_5925_Coconuts(离散化+dfs)

    题目链接:hdu_5925_Coconuts 题意: 给你一张很大的图,和小于200个的障碍点,问这张图中的联通块有多少个 题解: 由于障碍点只有200个,所以肯定有很多的空白部分,我们将这些空白部分 ...

  2. OMCS开发手册(04) -- 二次开发流程

    在掌握了前面几篇关于OMCS的详细介绍后,我们就可以正式基于OMCS进行二次开发了.下面我们就从服务端和客户端的角度分别介绍开发的步骤. 一.服务端开发 抛开具体的业务逻辑而言,就OMCS的服务端的开 ...

  3. Excel教程(3) - 函数输入方法

    对 Excel 公式而言,函数是其中的主要组成部分,因此公 式输入可以归结为函数输入的问题. "插入函数"对话框 "插入函数"对话框是 Excel 输入公式的重 ...

  4. html5 让IE6,7支持HTML5语义化标签的文件

    https://github.com/aFarkas/html5shiv/blob/master/src/html5shiv.js   只要应用这个js就行了

  5. Openjudge-计算概论(A)-与7无关的数

    描述: 一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和. 输入输入为一行,正整数n( ...

  6. javaWEB总结(7):HttpServlet和HttpServletRequest

    前言:HttpServletRequest对象封装了客户端进行HTTP协议请求时的所有信息,HttpServletRequest继承了ServletRequest,所以和ServletRequest一 ...

  7. OC-之AFNetworking

    AFNetworking介绍与用法: http://cocoadocs.org/docsets/AFNetworking/2.4.1/index.html

  8. 《Windows驱动开发技术详解》之自定义StartIO

    自定义StartIO 系统定义的StartIO队列只能使用一个队列(DDK提供的StartIO内部只有一个队列),这个队列将所有的IRP进行处理化.例如,读.写操作都会混在一起进行串行处理.然而,有时 ...

  9. JavaScript在智能手机上的应用-通过滑动修改网页字体大小

    ---------------------------------- <script type="text/javascript">            //变量x, ...

  10. POJ 1258 Agri-Net(Prim)

    ( ̄▽ ̄)" #include<iostream> #include<cstdio> #include<cmath> #include<algori ...