2025 gdsy 春季训练 5 - 数论
2025 gdsy 春季训练 5 - 数论
前言
因为我数论太烂了,所以写一篇随笔总结一下。
A - Eri and Expanded Sets
计数题。刻画合法条件。
观察到对一个集合进行操作,最后的结果一定是一个等差数列。
如果不是等差数列,则集合一定可以继续进行操作。
方差为 \(1\) 或集合只有 \(1\) 个数字,就是优秀的集合。
如何求最后结果的公差?首先如果相邻 \(2\) 个数字的差为偶数,则可以除以 \(2\)。
因此首先对所有差除以若干个 \(2\)。
不难猜到和 \(\gcd\) 有关,发现公差就是所有差的 \(\gcd\)。根据 \(\gcd(a-b,b-c)=\gcd((a-b)+(a-c),b-c)\),直接原序列做差分然后求 \(\gcd\)。左端点一定时,\(\gcd\) 为 \(1\) 的右端点一定是一段后缀。且随着左端点上升,右端点单调不降。
因此可以预处理 \(\gcd\) st 表,然后双指针。复杂度 \(O(n \log n)\)。
B - Josuke and Complete Graph
计数题。去重可以考虑只算最特别的情况,这样可以不算重复。
计算 \(\gcd(u,v), l \le u,v \le r\) 的颜色数。
注意到 \(l \le 10^9\) 非常奇怪。复杂度预计是 \(O(t \sqrt{l})\) 的。
对每个颜色,我们只需要找到最特殊的 \((u,v)\) 来计算就可以了。
即对于颜色 \(g\),我们只需要判定是否存在 \(l \le kg < (k+1)g \le r\)。
分 \(2\) 种情况;
- \(l \le g \le r\):此时 \(k=1\),可以解不等式得到所有 \(l \le g \le \lfloor \frac{r}{2} \rfloor\) 都是合法的颜色。
- \(g < l\):此时我们取 \(kg < l \le (k+1)g < (k+2)g \le r\) 的情况。\(k=\lfloor \frac{l-1}{g} \rfloor\)。可以整除分块,所有 \(k\) 相等的 \(g\) 分在一块,取 \((k+2)g \le r\) 的颜色为合法颜色。
时间复杂度 \(O(t\sqrt{l})\)。
C - LCM Sum (hard version)
计数题。不断缩小答案范围。
反过来求 \(\text{lcm}(i,j,k) < i+j+k\) 的数量。因为 \(i+j+k < 3k\),所以 \(\text{lcm}(i,j,k) = k\) or \(2k\)。
- \(\text{lcm} = k\)。
\(i,j\) 是 \(k\) 的因子且 \(i,j\ge l\)。
可以枚举 \(k\) 和 \(i\),求 \(j>i \land j\mid k\)。容易直接计算出所有合法 \(j\) 的个数。
枚举 \(i\) 而不是 \(j\) 的好处是对于每组询问,只要 \(i,k\) 合法,所有 \(j\) 也不会超出区间 \([l,r]\)。
把 \((i,k)\) 看作二维平面上的点,点有点权,每次询问数满足 \(l \le i < k \le r\) 的点的点权之和。
时间复杂度 \(O(n \log n)\)。
- \(\text{lcm} = 2k\)。
\(2k<i+j+k \Rightarrow i+j>k\)。
所以 \(j > \frac{k}{2}\)。\(j\) 不是 \(k\) 的因子。所以 \(j\) 分解质因数一定比 \(k\) 多一个 \(2\)。
\(\frac{j}{2}\) 是 \(k\) 的因子,所以 \(j\) 不超过 \(k\) 的因子个数个。
发现满足要求的 \(\frac{j}{2}\) 只能是 \(\frac{k}{3}\)。
所以 \(j = \frac{2}{3}k\)。
\(i\) 必须是 \(2k\) 的因子。而且 \(i> \frac{1}{3} \cdot \frac{1}{2}\cdot 2k \land i < \frac{2}{3} \cdot \frac{1}{2} \cdot 2k\)。
所以 \(i = \frac{1}{4} \cdot 2k\) or \(\frac{1}{5} \cdot 2k\)。
所以 \((i,j,k)\) 是 \((3d,4d,6d) 或 (6d,10d,15d)\) 的形式。
根据 \(l \le i,j,k \le r\) 解不等式即可。
2025 gdsy 春季训练 5 - 数论的更多相关文章
- 18春季训练01-3/11 2015 ACM Amman Collegiate Programming Contest
Solved A Gym 100712A Who Is The Winner Solved B Gym 100712B Rock-Paper-Scissors Solved C Gym 100712C ...
- 2016huasacm暑假集训训练四 数论_B
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/G 题意:求有多少x(1<=x<=n),使得gcd(x,n)>=m ...
- 2016huasacm暑假集训训练四 数论_A
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/F 题意:狼捉兔子,兔子躲在n个洞中一个,这n个洞围成一个圈,狼会从第0号洞开始,搜 ...
- 2019春季训练02: JU Flash Contest Gym - 102035 训练报告与复盘
这场题极其简单 Solved 19 / 19 A Gym 102035A N integers 略 Solved 10 / 33 B Gym 102035B Mahmoud the Thief 用ma ...
- [xsy1100]东舰停战不可避
没有三点共线 这题的思想来源于JOI2011-2012春季训练合宿Day2T2,原题是个大毒瘤题(p.s.场上有人A,真的可怕),这题作为原题要用到的的一个结论而存在 点有两种颜色,先考虑对所有点做凸 ...
- 【ACM算法竞赛日常训练】DAY10题解与分析【月月给华华出题】【华华给月月出题】| 筛法 | 欧拉函数 | 数论
DAY10共2题: 月月给华华出题 华华给月月出题 难度较大. 作者:Eriktse 简介:211计算机在读,现役ACM银牌选手力争以通俗易懂的方式讲解算法!️欢迎关注我,一起交流C++/Python ...
- 【NOIP训练】【规律+数论】欧拉函数的应用
Problem 1 [题目大意] 给出 多组数据 ,给出 求出 . 题解 证明: 除了 以为均为偶数, 所以互质的个数成对. 由 得 . 所以对于每对的和为 , 共有 对 . 则 Problem ...
- 【NOIP训练】【数论】超级计算机
题目描述有以下几个问题:1 给定正整数 求方程 的最小非负整数解.2 给定正整数 求方程 的最小非负整数解.3 给定正整数 求方程 在模 意义下解的数量.4 给定正整数 求 的值.其中 ...
- 2018牛客网暑假ACM多校训练赛(第四场)A Ternary String 数论
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round4-A.html 题目传送门 - https://www.no ...
- 2018.12.31 NOIP训练 偶数个5(简单数论)
传送门 对于出题人zxyoizxyoizxyoi先%\%%为敬题目需要龟速乘差评. 题意简述:5e55e55e5组数据,给出n,请你求出所有n位数中有偶数个5的有多少,n≤1e18n\le1e18n≤ ...
随机推荐
- SciTech-Mathematics-Probability+Statistics-Problem{Persons+Conditions+Outcomes+Processes}: Chance + Possibility + Likelihood + Probability
Problem: Persons Conditions Outcomes Processes Experiment: A process, real or hypothesis, that the p ...
- ES 7.8 速成笔记(中)
接上篇继续,本篇主要研究如何查询 一.sql方式查询 习惯于数据库开发的同学,自然最喜欢这种方式.为了方便讲解,先写一段代码,生成一堆记录 package com.cnblogs.yjmyzz; im ...
- win11系统出现内部错误2203的问题
有不少深度系统的win11专业版用户,在电脑上安装软件时提示2203的内部错误的问题,导致软件安装失败,这该如何解决呢?如果您也遇到这个问题不知道如何解决.就来看看深度技术小编整理的解决方案,希望有所 ...
- Unity动态骨骼
教程 https://magicasoft.jp/en/mc2_bonespring_startguide/ 下载 https://download.csdn.net/download/u013898 ...
- 使用 chezmoi & vscode, 管理你的 dotfiles
什么是 dotfiles In Unix-like operating systems, any file or folder that starts with a dot character (fo ...
- 记录一些除OI外的其他知识
rt,未来可能会记录些本人折腾arch的经验,资源,歌单,游戏等等 之前看b说chrome的体验最很好,然而我之前实测linux下firefox表现最好,评论说windows下chrome好,linu ...
- iSCSI存储协议详解
iSCSI 存储协议详解 (注意:正确缩写为 iSCSI,全称为 Internet Small Computer System Interface,是一种基于 IP 网络的存储协议.) 1. 什么是 ...
- JS高级用法-清空数组
let arr = [12,43] arr.slice(0) // 克隆数组 arr.splice(0) // 克隆数组 ,意思是返回一个新的数组, arr变为[] arr.length = 0 // ...
- 如何在PS(photoshop)和AI(illustrator)里快速标注设计图尺寸?
尺寸标注是大多数设计师必不可少的细节工作,特别是在一些特定的设计图中,标注至关重要.大部分设计大大都直接用CAD标注,其实只需要借助一些小插件,PS和AI也是完全可以直接搞定常见的尺寸标注的. PS- ...
- 用过redis哪些数据类型?Redis String 类型的底层实现是什么?
Redis 数据类型有哪些? 详细可以查看:数据类型及其应用场景 基本数据类型: String:最常用的一种数据类型,String类型的值可以是字符串.数字或者二进制,但值最大不能超过512MB.一般 ...