LA 3905 Meteor / 区间扫描

2024-06-15 12:08
文章标签 la 3905 meteor 扫描 区间

本文主要是介绍LA 3905 Meteor / 区间扫描,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

求哪一时刻 框框里的点最多 每个点在做运动(在边框上不算)

求出每个点经过框框的区间 在2维坐标系以x表示 是开区间 因为区间边上不算

假设有一条竖线从左到右扫描过去 也就是求哪一时刻扫描线相交的区间最多

可以设cnt = 0每遇到左区间++右区间--求最大的cnt 然后一个区间右端点与一个区间的左区间相同 要先算右区间因为是开区间

书上的代码

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;const int maxn = 100010;
struct Event
{double x;int type;bool operator < (const Event& a) const{return x < a.x || (x == a.x && type > a.type);}
}event[maxn*2];void update(int x, int a, int w, double& l, double& r)
{if(a == 0){if(x <= 0 || x >= w)r = l - 1;}else if(a > 0)//0 < x+at < w <=> t > -x/a && t < (w-x)/a{l = max(l, -(double)x/a);r = min(r, (double)(w-x)/a);}else if(a < 0)//0 < x+at < w <=> t < -x/a && t > (w-x)/a{l = max(l, (double)(w-x)/a);r = min(r, -(double)x/a);}
}
int main()
{int T;scanf("%d", &T);while(T--){int w, h, n, e = 0;scanf("%d %d %d", &w, &h, &n);for(int i = 0; i < n; i++){int x, y, a, b;scanf("%d %d %d %d", &x, &y, &a, &b);double l = 0, r = 1e9;update(x, a, w, l, r);update(y, b, h, l, r);if(l < r){event[e++]= (Event){l, 0};event[e++]= (Event){r, 1};}}sort(event, event+e);int cnt = 0;int ans = 0;for(int i = 0; i < e; i++){if(event[i].type == 0)cnt++;elsecnt--;ans = max(ans, cnt);}printf("%d\n", ans);}return 0;
}


 

这篇关于LA 3905 Meteor / 区间扫描的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1063407

相关文章

Android我的二维码扫描功能发展史(完整)

最近在研究下二维码扫描功能,跟据从网上查阅的资料到自己勉强已实现扫描功能来一一介绍我的二维码扫描功能实现的发展历程: 首页通过网络搜索发现做android二维码扫描功能看去都是基于google的ZXing项目开发。 2、搜索怎么使用ZXing实现自己的二维码扫描:从网上下载ZXing-2.2.zip以及core-2.2-source.jar文件,分别解压两个文件。然后把.jar解压出来的整个c

秋招突击——6/22——复习{区间DP——加分二叉树,背包问题——买书}——新作{移除元素、实现strStr()}

文章目录 引言复习区间DP——加分二叉树个人实现 背包问题——买书个人实现参考实现 新作移除元素个人实现参考思路 找出字符串中第一个匹配项的下标个人实现参考实现 总结 引言 今天做了一个噩梦,然后流了一身汗,然后没起来,九点多才起床背书。十点钟才开始把昨天那道题题目过一遍,然后十一点才开始复习题目,为了不耽误下午的时间,所以这里的就单纯做已经做过的题目,主打一个有量,不在学

金蝶盘点机PDA,序列号SN管理扫描入库出库质量追溯溯源防串货

比如有5个红米手机,红米手机的代码是100001, 那么这5个红米手机的条码是:100001+001,100001+002,100001+003,100001+004,100001+005, 那么入库时,依次扫描这些条码,自动生成金蝶里的入库单。并记录序列号信息。这样能实现序列号追溯,以后通过序列号就能查询出来该序列号的产品是从哪里进货的什么时候进货的,什么时间销售给谁了。 第一步:商

仓库盘点好方法,使用安卓盘点机PDA扫描商品条码进行超市盘点

仓库管理我们为什么要盘点? 因为传统的进销存出入库都需要电脑一行行的人工手工录单,比如入库时,人眼识别这个商品是什么商品,然后电脑上选择该商品,录入数量。人眼识别要求入库人对商品非常熟悉,而且对于包装规格相近的很容易弄错,张冠李戴,A商品的录单时记录成为B商品了。所以人工手工录单效率低,误差大,是导致我们进销存管理软件中帐面库存存跟仓库门店实际库存不相符合的主要原因。电脑账存跟实际库存不符合,所

金蝶盘点机PDA进行工序汇报扫描,工时工资统计使用说明书

使用盘点机PDA扫描商品条码(序列号)进行工序汇报,自动生成电脑里的【工序汇报单】,自动计算工时,工资。这样就不用去电脑上人工手工一行行录单,大大提高工作效率和数据准确性。 操作时,只需要商品条码(序列号)即可实现快速,准确的工序汇报。从而防止电脑进行工序汇报耗时,费事,不准确的问题。 注意商品条码规则:产品代码+钢管长度+炉号+管号+合同号+序列号 下面我们看下【工序汇报单】的操作步骤

金蝶工序汇报扫描,通过扫描条码的方式进行工序汇报的方法

工序汇报单扫描 优势点:传统的工序汇报是纸质的,生产过程中填好,然后生产完再安排专人录入到金蝶系统里,整个过程比较费事,容易出错,而且有延时,数据不及时。录入数据的人非当事人,数据错误后容易出现扯皮的情况。 那么如果使用盘点机PDA扫描商品条码进行工序汇报,就能很好的解决这个问题了。谁操作,谁扫描,另外扫描后工序数据实时传输到后台,电脑上立即可以看到,管理层可以根据生产数据实时做出策略。从而

金蝶盘点机PDA仓库条码管理家电空调类序列号扫描出入库整体解决方案

采购入库单 传统的进销存管理软件需要人工识别商品品种,清点商品数量,然后再去人工手工在电脑上一行行的录入采购入库单。录单效率低,误差大。 如果使用汉码盘点机PDA,入库时,仓管员只需要手持PDA去入库现场,将需要入库的商品按照顺序扫描条码,即可自动生成采购入库单,从而提高工作效率和数据准确性。 盘点机PDA的采购入库单有以下功能: (1)支持采购订单作为源单下推采购入库单,实现商品品种

金蝶盘点机PDA 门店手持PDA扫描条码查询账面库存录入要货数量生成要货申请单,总部手持PDA选择要货申请单,扫描条码按照要货单进行发货

要货申请单 优势点:使用盘点机PDA扫描商品条码做要货申请单,不用去电脑上人工手工一行行录入。手持PDA扫描商品货架,实时查询库存,录入要货数量,自动生成要货申请单。总部电脑上立即可以看到这个要货申请单,对要货申请单进行审核。总部仓管员手持PDA在【仓库调拨单】中查询选择需要配货的【要货申请单】,就知道需要发什么商品,发多少数量,并且在扫描发货时实现商品品种校验,和商品数量个校验,防止发错发

Nikto一键扫描Web服务器(KALI工具系列三十)

目录 1、KALI LINUX 简介   2、Nikto工具简介 3、信息收集 3.1 目标IP(服务器) 3.2kali的IP  4、操作实例 4.1 基本扫描 4.2 扫描特定端口 4.3 保存扫描结果 4.4 指定保存格式 4.5 连接尝试 4.6 仅扫描文件上传 5、总结 1、KALI LINUX 简介 Kali Linux 是一个功能强大、多才多

【网络安全学习】漏洞扫描:-04- ZAP漏洞扫描工具

**ZAP(Zed Attack Proxy)**是一款由OWASP组织开发的免费且开源的安全测试工具。 ZAP支持认证、AJAX爬取、自动化扫描、强制浏览和动态SSL证书等功能。 1️⃣ 安装zap工具 现在的kali版本不一定会预装zap,我们可以自行安装,安装也十分简单。 apt-get install zaproxy -y 安装完成后,点击左上角的图标,搜索zap,点击打开即可