NOI Online 2022 总结
NOI Online 2022 总结
前言
这一次比赛我因为参加文化科目考试而没有参加,但是我在后来利用信息课和休息时间搞了一下入门组。本来想都搞一下的,结果到今天(2022年4月9日)为止也仅仅只是把普及组前两题AC(第二题暴力50分,看了题解100分)、第三题打了暴力(35分,暂时还没看懂题解),把提高组第一题打了暴力(15分)。
普及组
T1. Kingdom
这一题一开始我也把 n n n 和 m m m 看反了,发现样例过不了,仔细一看才发现反了。改正之后提交,一遍过,这一题十分地简单。
T2. Math
这一题我当时就觉得应该有个什么简洁的数学式子。因为题意很简单,我就大概记下来,然后在课余时间试着推了一下式子。
其实我辗转相除法当时只有模糊的印象了,所以又看了看《算法竞赛进阶指南》的“约数”,然后把“更相减损术”和“辗转相除法”的算法和证明过程都总结了一下写成文章在CSDN上,给自己以后复习。
我的思路是这样子的:
设 d = ( x , y ) , x = a × d , y = b × d d = (x, y),\ x = a \times d,\ y = b \times d d=(x,y), x=a×d, y=b×d,则有 $ b \times d^2 = \frac{z}{x} \in \mathbb{N} $。
于是我就枚举 d ∈ N ∗ ∩ [ 1 , z x ] d \in \mathbb{N}^* \cap[1, \sqrt{\frac{z}{x}}] d∈N∗∩[1,xz] 使得 $d^2 | \frac{z}{x} $ 。
写的时候脑子有点糊,写的是 d × d ≤ z d \times d \leq z d×d≤z,可能改一下还可以多几分?
这里还可以缩小范围的,当时没有想到。由于 a × b ×