20251023 正睿二十连测

news/2025/10/23 21:17:03/文章来源:https://www.cnblogs.com/xhr0817-blog/p/19161650

B

时间:看了题解后花了 \(30\) 多分钟吧。

给定 \(n\) 对数 \((a_i, b_i)\) 以及 \(T\) 组询问,每组询问给定 \((x, y)\),问有多少对给定的数能通过对 \((x, y)\) 进行若干次以下两种操作得到?

  • \((x, y) \leftarrow (x, x + y)\)
  • \((x, y) \leftarrow (x + y, y)\)

\(n, T \le 10^5, 1 \le a_i, b_i, x, y \le 10^{18}\)

正着做似乎毫无前途,至少我考时打了一个小时表毫无规律,它进行不同的操作后也几乎不会到达重复的状态,然后就寄了。

看了一眼题解,告诉我们要倒着做,然后几乎就秒会了。

首先操作肯定是可逆的,无非是 \((x, y) \leftarrow (x - y, y)\)\((x, y) \leftarrow (x, y - x)\)。但是倒着做有什么好处呢?

凭借我们惊人的注意力:\(a_i, b_i, x, y\) 都是大于 \(0\) 的,而一个带有负数的对 \((-p, q)\) 无论怎么操作都至少还有一个负数,所以减的时候一定时大的减小的,操作时唯一确定的,而不是有两种。

而这玩意很像辗转相除法,只不过是减法。但是一个个减肯定会超时,还是只能按照辗转相除法做。

不妨设 \(a_i > b_i, k = a_i \% b_i\),则 \((k, b_i), (k + y, b_i) , \dots , (a_i, b_i)\) 都是可以的。我们可以把这些数概括成一个三元组 \((b_i, k, a_i)\) 表示对于询问的 \((x, y)\),若 \(y = b_i, x \% y = k, x \le a_i\) \((x, y)\) 就是那一串数中的一个。

那么将所有 \(n \log V\) 个三元组排序,然后查询时二分出一段区间即可得到答案。对于 \(a_i < b_i\) 的情况同样的做一遍即可,两边互不影响。

时间复杂度:\(O(n \log V \log n)\),注意下常数还是能过的。

似乎 \((k, b_i)\) 到辗转相除一次时会再算一次,不过将 \(y \le b_i\) 改成 \(y \le b_i - x\) 就可以了。

这个题难点就是要想到倒着做,这样操作时固定的,然后就不难了。(脑瘫了,一直想正着做。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/944680.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1019:浮点数向零舍入(分正负取整)

【题目描述】 输入一个单精度浮点数,将其向零舍入到整数。说明:向零舍入的含义是,正数向下舍入,负数向上舍入。提示:可以使用强制类型转换来实现。 【输入】 一个单精度浮点数。 【输出】 一个整数,即向零舍入到…

创建 SQL Server 数据库【通用】

use master go-- 如果存在这个数据库名称 ,否则删除 if exists(select * from sysdatabases where name = MyFirstDB) drop database MyFirstDB-- 创建数据库 create database MyFirstDB on primary (name=MyFirstDB_…

HNSW算法实战:用分层图索引替换k-NN暴力搜索

向量检索是整个RAG管道的一个重要的步骤,传统的暴力最近邻搜索因为计算成本太高,扩展性差等无法应对大规模的搜索。 HNSW(Hierarchical Navigable Small World,分层可导航小世界图)提供了一种对数时间复杂度的近似…

日志分析-IIS日志分析

日志分析-IIS日志分析 1.phpstudy-2018站点日志.(.log文件)所在路径,提供绝对路径 按照下列步骤找到 flag{C:\inetpub\logs\LogFiles\W3SVC2}2.系统web日志中状态码为200请求的数量是多少 将日志爬下来传到linux中 在…

Spring Boot 自动配置之 TaskExecutor - 实践

Spring Boot 自动配置之 TaskExecutor - 实践2025-10-23 21:05 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: b…

二分图/忆re.

rt: 本文分两部分二分图 忆re.part 1 二分图 定义 我会告诉你我OIwiki没看懂吗? 其实就是有一张图,将它的点分为红点和蓝点,红点只能和蓝点相连,同理蓝点只能和红点相连,满足这个条件的图就是二分图。 形式上的…

编程与数学 03-009 Linux 操作系统应用 22_Linux 故障排除与问题克服

编程与数学 03-009 Linux 操作系统应用 22_Linux 故障排除与问题克服pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &qu…

《IDEA 2025长效采用配置指南:有效期配置至2099年实战之JetBrains全家桶有效》​

《IDEA 2025长效采用配置指南:有效期配置至2099年实战之JetBrains全家桶有效》​pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font…

如何制作PDF文件目录? - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

todesk远程到被控Mac后能看到画面,鼠标键盘执行无反应

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Visual Studio 插件 - 喝水提醒 - 指南

Visual Studio 插件 - 喝水提醒 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…

10/23

状态图状态图通常是对反应型对象建模 活动图 活动图展示的是流程*构件图构件图有标志 构件图展示的是构件之间的 组织和依赖供接口和需接口 部署图--对物理方面建模的方法 部署图对实施方面进行建模 立方体需求建模、…

玛哈特十一辊矫平机:把金属板送进“11 次节拍器” - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

JAVA 排序用法

目录背景和价值一、 Comparator 的基本用法二、 Java 8 之前(匿名内部类)三、 Java 8 之后(Lambda 表达式和方法引用)1. 使用 Lambda 表达式2. 使用静态工厂方法 Comparator.comparing()(推荐)3. 链式比较(多条…

esp32-usb-jtag 调试踩坑

背景 ESP 芯片通常使用 UART 实现串口,并可以通过外部 USB-UART 桥接芯片,连接到主机/PC 上的串口控制台仿真器。然而,在具有 USB 串行/JTAG 控制器的 ESP 芯片上,控制器的 CDC-ACM 部分即可实现串口,该串口直接连…

MySQLDay3

3.约束 3.1、概述概念:约束时作用于表中字段上的规则,用于限制存储在表中的数据。目的:保证数据库中数据的正确、有效性和完整性。分类:注意:约束时作用于表中字段上的,可以在创建表/修改表的时候添加约束。 案例…

第3天(中等题+简单题 数组、滑动窗口)

打卡第三天 1道简单题+2道中等题定长滑动窗口套路:今日耗时≈一小时 明天继续

飞牛OS通过docker部署SillyTavern酒馆

一、下载在飞牛 Docker -> 镜像仓库 中搜索 SillyTavern 下载镜像。镜像仓库中没有官方的 SillyTavern 镜像,下载有最多下载数的镜像即可,我使用 goolashe/sillytavern:stable 。前往 GitHub - SillyTavern/Silly…

完整教程:微信小程序学习(一)

完整教程:微信小程序学习(一)2025-10-23 20:35 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !import…