J - Transmitters解题报告(熊禾强)

OptiSystem 15.0软件的安装与简单使用操作 Optisystem 15.0 安装与使用 阅读详情

J - Transmitters
Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u

Description

In a wireless network with multiple transmitters sending on the same frequencies, it is often a requirement that signals don't overlap, or at least that they don't conflict. One way of accomplishing this is to restrict a transmitter's coverage area. This problem uses a shielded transmitter that only broadcasts in a semicircle. 

A transmitter T is located somewhere on a 1,000 square meter grid. It broadcasts in a semicircular area of radius r. The transmitter may be rotated any amount, but not moved. Given N points anywhere on the grid, compute the maximum number of points that can be simultaneously reached by the transmitter's signal. Figure 1 shows the same data points with two different transmitter rotations. 

All input coordinates are integers (0-1000). The radius is a positive real number greater than 0. Points on the boundary of a semicircle are considered within that semicircle. There are 1-150 unique points to examine per transmitter. No points are at the same location as the transmitter. 

Input

Input consists of information for one or more independent transmitter problems. Each problem begins with one line containing the (x,y) coordinates of the transmitter followed by the broadcast radius, r. The next line contains the number of points N on the grid, followed by N sets of (x,y) coordinates, one set per line. The end of the input is signalled by a line with a negative radius; the (x,y) values will be present but indeterminate. Figures 1 and 2 represent the data in the first two example data sets below, though they are on different scales. Figures 1a and 2 show transmitter rotations that result in maximal coverage.

Output

For each transmitter, the output contains a single line with the maximum number of points that can be contained in some semicircle.

Sample Input

25 25 3.5
7
25 28
23 27
27 27
24 23
26 23
24 29
26 29
350 200 2.0
5
350 202
350 199
350 198
348 200
352 200
995 995 10.0
4
1000 1000
999 998
990 992
1000 999
100 100 -2.5

Sample Output

3
4
4

题目大意:给出圆心坐标和半径,并给出几个点,求出半圆放在哪个角度是包含的给出的点最多。

解题思路:叉积算法,设矢量P=(x1,y1),Q=(x2,y2),若P*Q>0,则P在Q的顺时针方向,

若P*Q<0,则P在Q逆时针方向。先判断点是否在圆内,再用叉积。

若P*Q=0,则P和Q共线

代码:


#include<stdio.h> 
#include<math.h> 
const double inf=1e-6; 
double x[160],y[160]; 
double dis(int xa,int ya,int xb,int yb) 
{ 
  return sqrt(double((xa-xb)*(xa-xb)+(ya-yb)*(ya-yb))); //判断点是否在圆内
} 
int side(int i,int j,int xx,int yy) 
{ 
 
if(	(xx - x[i]) * (yy - y[j]) - (xx - x[j]) * (yy - y[i]) >= 0)//叉积判断 
return 1; 
else 
return 0;
} 
int main() 
{ 
  double r;
  int ox,oy,xx,yy,n,i; 
  while(scanf("%d%d%lf",&ox,&oy,&r)!=EOF && r>0) 
  { 
	    scanf("%d",&n); 
	       int j=0; 
	        for( i=0;i<n;i++) 
	        { 
	            scanf("%d%d",&xx,&yy); 
	          if(r-dis(xx,yy,ox,oy)>-inf)//判断点是否在圆内 
	            { 
	                x[j]=xx; 
	                y[j]=yy; 
	                ++j; 
	            } 
	        } 
	        n=j; 
	        int maxx=0; 
	        for( i=0;i<n;i++) //判断在哪个角度,包含的点最多
	        { 
	            int k=0; 
	            for(int j=0;j<n;j++) 
	                if(side(i,j,ox,oy)) 
	                    ++k; 
	            if(maxx<k)maxx=k; 
	        } 
	        printf("%d\n",maxx); 
	    }
		return 0;
	}




Optisystem7.0安装教程(Win10系统) 系统环境:Win10系统 软件:Optisystem7.0 网络环境:保持网络畅通(有线网,无线网都可以) 在网上下载optisystem7.0的安装包之后,进行解压。得到如下图所示的文件, 打开Install文件夹,点击setup.exe,会出现下图这种情况, 点击确定,转到安装界面, 点击Next ,选择I agree the agreement,再次点击Next... 阅读详情

相关推荐

OptiSystem 12 (64-bit)

OptiSystem12软件安装包,支持64位操作系统,下载即可安装

poj1106——求半圆覆盖的最大点数

题目链接:poj.org/problem?id=1106 In a wireless network with multiple transmitters sending on the same frequencies, it is often a requirement that signals don't overlap, or at least that they don't confli...

mumei的博客 313

optisystem包.rar

包括11,12,13三个版本的optisystem安装包,还有optisystem的学习手册和仿真实例

光通信仿真软件Optisystem 15.0 学习版

软件学习资源

qq_49502753的博客 6435

OAI数据集申请下载全攻略:从个人NDA账号注册到数据包下载的保姆级避坑指南

本文提供OAI数据集申请下载的完整指南,涵盖从个人NDA账号注册到数据包下载的全流程。重点解析login.gov验证陷阱、浏览器兼容性问题、NDA权限申请技巧及nda-tools高效使用方法,帮助医学影像研究者避开常见技术障碍,快速获取全球骨关节炎研究数据库OAI的宝贵数据资源。

weixin_28698059的博客 745

RTX 5090配Ubuntu 24.04踩坑记:手把手搞定OpenVLA-OFT环境(附版本避坑清单)

本文详细记录了在RTX 5090显卡和Ubuntu 24.04系统上部署OpenVLA-OFT环境的完整过程,包括驱动安装、CUDA配置、PyTorch版本选择等关键步骤。提供了经过验证的版本组合清单和常见错误解决方案,帮助开发者高效搭建AI开发环境。

weixin_30342209的博客 465

毕设急用optisystem 17.求各位大神分享

急求 optisystem17. 大神们快来帮帮忙。

Q124822的博客 1775

r语言svr模型_R语言初探强化学习中的马尔可夫模型

强化学习大家这几年应该不陌生,从AlphaGo到AlphaZero让大家见识到了强化学习的力量。我们今天给大家介绍一个在强化学习中核心思维马尔可夫决策过程(MDP)。马尔科夫决策过程是基于马尔科夫论的随机动态系统的最优决策过程。它是马尔科夫过程与确定性的动态规划相结合的产物,故又称马尔科夫型随机动态规划,属于运筹学中数学规划的一个分支。今天我们给大家介绍下马尔可夫决策过程中用到一些算法以...

weixin_28994357的博客 1111

题解:Transmitters(几何,叉积)

In a wireless network with multiple transmitters sending on the same frequencies, it is often a requirement that signals don’t overlap, or at least that they don’t conflict. One way of accomplishing t...

晚安( ̄o ̄) . z Z 332

半导体设备上位机开发:我的经验与新人指导

半导体设备上位机开发是一项复杂而富有挑战性的工作,需要扎实的技术基础和丰富的经验。如果你对半导体设备上位机开发感兴趣,欢迎随时与我交流,我会尽力帮助你!

qq_43518667的博客 2726

Diffusion Model进阶解析:从SDE到概率流ODE的连续化生成建模

本文深入解析了Diffusion Model的连续化生成建模,从离散DDPM和SGM模型引入,阐述了采用随机微分方程(SDE)统一视角的必要性与优势。文章详细拆解了SDE的构成,揭示了其如何统一描述扩散过程,并重点介绍了逆向SDE与确定性的概率流ODE,后者为高效、确定的图像生成提供了理论基础。最后,文章对比了朗之万动力学、数值SDE求解器和数值ODE求解器(如DPM-Solver)等主流采样方法的实战应用与选择策略。

weixin_29099217的博客 437

POJ1106-Transmitters

Transmitters Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4555   Accepted: 2427 Description In a wireless network with multiple transmitters sending on the

ecjtu_acm_菜鸟—鱼尾尾 963

宇树科技嵌入式面试题及参考答案(春晚机器人的公司)

内存对齐是指在内存中为数据对象分配存储空间时,按照一定的规则将数据存储在特定的地址上,以提高内存访问效率。不同的数据类型在内存中都有其特定的对齐要求,例如,int类型通常要求 4 字节对齐,double类型通常要求 8 字节对齐。这意味着数据的存储地址必须是其对齐字节数的整数倍。如果不进行内存对齐,处理器在访问数据时可能需要进行多次内存访问,从而降低了访问效率。指令可以用于控制结构体内存布局,它允许程序员指定结构体成员的对齐方式。其基本用法是在结构体定义之前使用来指定对齐字节数n,其中n。

大模型大数据攻城狮的专栏 3222

解析几何--最小圆覆盖

最小圆覆盖问题指平面上有n个点,给定n个点的坐标,找到一个半径最小的圆,将n个点全部包围,点可以在圆上。 求最小圆覆盖问题的方法有很多种。一步一步学习。 先介绍增量法的实现步骤。 目录 点增量法 三角形增量法 HDU-3007-Buried memory(最小圆覆盖板子) BZOJ-1336: [Balkan2002]Alien最小圆覆盖 BZOJ-1337: 最小圆覆盖 BZO...

永远鲜红の幼月的博客 2970

车载诊断架构 --- 车载ECU开发中DTC数量与芯片存储能力的关系及应对策略

本文探讨了汽车电子系统中ECU存储DTC故障码的容量问题及解决方案。作者作为汽车电子工程师,针对台架测试中遇到的DTC存储超限案例展开分析,指出随着汽车智能化发展,ECU需处理的DTC数量激增与芯片存储能力有限的矛盾。文章详细介绍了DTC的存储需求、ECU支持数量与芯片容量的关系,并提出应对策略,通过实际案例验证了方案的可行性。最后强调在ECU开发中需合理分配存储资源,确保关键故障信息不丢失。

Soly_kun的博客 87

由浅入深的详细解读汽车PDU与BDU

本文详细解读新能源汽车的PDU高压配电单元和BDU电池包断路单元,涉及电气件参数设计、选型、结构设计、电气安全、散热设计、继电器控制与诊断,提供汽车电子知识和技术解析。

让你爱上电路设计 1万+

POJ - 1106 Transmitters

Transmitters In a wireless network with multiple transmitters sending on the same frequencies, it is often a requirement that signals don’t overlap, or at least that they don’t conflict. One way of ac...

rainbowsea_1的博客 316

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ZOJ 1041 Transmitters (凸包的简单应用)

Description In a wireless network with multiple transmitters sending on the same frequencies, it is often a requirement that signals don’t overlap, or at least that they don’t conflict. One way of ac...

超逸の学习技术博客 723

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

POJ 1106:Transmitters(计算几何)

POJ 1106:Transmitters(计算几何) 题目链接:POJ 1106 Description In a wireless network with multiple transmitters sending on the same frequencies, it is often a requirement that signals don’t overlap, or at le...

serendipity的博客 428

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

ZOJ 1041 Transmitters

Description以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的) InputOutputSample Input25 25 3.5------雷达坐标与半径 7----------点数 25 28-------点坐标 23 27 27 27 24 23 26 23 24 29 26 29 350 200 2.0 5 350 202 35

forget_yu的博客 333

【计算几何】信号覆盖

调了很久很久。。。比较难。需要进行多次转换。 朴素O(n^4)过4组,但是因为我用getint,没法读负数,同时有个地方乘法写成加法,同时算半径算成了边长,所以零分。 比较有启发性,作为一道计算几何题目。本来是三角形和点的关系,可以转化成构造四边形。 在本题中,凹多边形和凸多边形是不同的,必须单独讨论,由图可知,凸多边形可以有两个圆满足这个要求,凹多边形只有一个。

wu_yihao的专栏 663

OptiSystem-21.17.0-evaluation-setup

软件下载

Spencer023的博客 2804

OPTISYSTEM官方文件_免费领取

OPTISYSTEM学习

m0_59724972的博客 1285

Transmitters

描述 In a wireless network with multiple transmitters sending on the same frequencies, it is often a requirement that signals don’t overlap, or at least that they don’t conflict. One way of accomplishing this is to restrict a transmitter’s coverage area. Thi

weixin_55800656的博客 540

Transmitters POJ - 1106(叉积)

#include <iostream> #include <cmath> using namespace std; const int maxn=1111; const double eps=1e-8; int sgn(double x) { if(fabs(x)<eps) return 0; if(x<0) ...

leekerian的博客 271
上一篇: I - I Think I Need a Houseboat解题报告(熊禾强)
下一篇: K - Parallelogram Counting解题报告(来自网络)
CSUST_ACM
博客等级 码龄15年 42粉丝 127原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值