首页 技术 正文
技术 2022年11月17日
0 收藏 933 点赞 2,620 浏览 1225 个字

hahaha

【问题描述】

  小Q对计算几何有着浓厚的兴趣。他经常对着平面直角坐标系发呆,思考一些有趣的问题。今天,他想到了一个十分有意思的题目:

  首先,小Q会在x轴正半轴和y轴正半轴分别挑选n个点。随后,他将轴的点与轴的点一一连接,形成n条线段,并保证任意两条线段不相交。小Q确定这种连接方式有且仅有一种。最后,小Q会给出m个询问。对于每个询问,将会给定一个点p(px,py),请回答线段OP与n条线段会产生多少个交点?

  小Q找到了正在钻研数据结构的你,希望你可以帮他解决这道难题。

【输入格式】

  第1行包含一个正整数n,表示线段的数量;

  第2行包含个正整数,表示小Q在x轴选取的点的横坐标;

  第3行包含个正整数,表示小Q在y轴选取的点的纵坐标;

  第4行包含一个正整数m,表示询问数量;

  随后m行,每行包含两个正整数px,py,表示询问中给定的点的横、纵坐标。

【输出格式】

  共m行,每行包含一个非负整数,表示你对这条询问给出的答案。

【样例输入】

  3

  4 5 3

  3 5 4

  2

  1 1

  3 3

【样例输出】

  0

  3

【样例解释】

  然后塔里啥都没有。

【数据规模与约定】

  对于的数据,。

  对于的数据,,坐标范围。

【题目分析】

  把x轴和y轴上的点sort一遍,因为要保证两条线段不相交。

  然后二分这些线段

  判断线段是否相交的check函数,把xx1,带入要比较的线段解析式中,如果得到的Y<=yy1说明相交

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
using namespace std;
int n,m;
int xx,yy;
int x[],y[];
bool check(int num,int xx1,int yy1)
{
double Y=(double)y[num]-(double)xx1*(double)y[num]/(double)x[num];
return Y<=yy1;
}
int main()
{
freopen("hahaha.in","r",stdin);
freopen("hahaha.out","w",stdout);
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d",&x[i]);
for(int i=;i<=n;i++)
scanf("%d",&y[i]);
sort(x+,x+n+);
sort(y+,y+n+);
n++;
x[n]=1e9;y[n]=1e9;
scanf("%d",&m);
for(int i=;i<=m;i++)
{
int ans=;
scanf("%d%d",&xx,&yy);
int l=,r=n;
while(l<=r)
{
int mid=(l+r)>>;
if(check(mid,xx,yy)) l=mid+,ans=max(ans,mid);
else r=mid-;
}
printf("%d\n",ans);
}
}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,082
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,556
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,406
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,179
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,815
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898