ABC 448 EF
E - Simple Division
涉及到数论同余式与乘法逆元的知识,基础太差了不太会做qwq。。。
计算 \(\lfloor \frac{N}{M} \rfloor\ \space \%\space 10007\)。
由于 \(\lfloor \frac{N}{M} \rfloor = \frac{N - N\space \%\space M}{M}\)
故可以将上式化为:\(\frac{N - N\space \%\space M}{M} (mod\space 10007)\)。
可见我们需要求出 \(N\% 10007\) 与 \(N\%M\)。
根据题意:N 等于:
为了方便叙述,令 \(K_{i} = c_{i}* 10^{suf_{i+1}}\),由于是求和式,我们可以对每一项独立计算,最后汇总。
因此只需要计算 \(K * \frac{10^{l_{i}}-1}{9} (mod\space 10007)\) 与 \(K * \frac{10^{l_{i}}-1}{9} (mod\space M)\)。
使用快速幂 \(qpow(x,p-2,p)\) 求 \(x\) 模 \(p\) 意义下的逆元,必须要求:\(p\) 与 \(x\) 互质。
由于 \(10007\) 是质数,故 \(9\) 与 \(10007\) 一定互质,可以求出 \(inv(9, 10007)\);而 \(M \le 10^{4}\),故 \(M\) 与 \(10007\) 也一定互质,可以求出 \(inv(M,10007)\)。然而,在求解 \(K * \frac{10^{l_{i}}-1}{9} (mod\space M)\) 时,显然涉及到求 \(9\) 模 \(M\) 意义下的逆元,而 \(9\) 与 \(M\) 不一定互质,因此 \(inv(9,M)\) 不存在,需要换一种思路来求解 \(K * \frac{10^{l_{i}}-1}{9} (mod\space M)\)。
令 \(S=K * \frac{10^{l_{i}}-1}{9}\),我们只需要计算 \(S\% M\)。
虽然无法求出逆元,但是对于同余式,以下关系是始终成立的:
故:
进而:
很容易证明 \(9S\space \%\space 9M = 9(S\%M)\),因此:
以上转化,唯一目的就是为了将分母 \(9\) 消除,避免求解 \(9\) 模 \(M\) 意义下的逆元。
(注意:对于计算 \(qpow(a, b, p)\),并不要求 \(a\) 与 \(p\) 互质(只是在决定逆元是否存在时需要判断;即使 \(b=p-2\) 也无需在意,因为代表的含义不同:此时仅仅是求 \(a^{p-2} \% p\) 的值,并不涉及 \(a\) 模 \(p\) 意义下的逆元这个含义)。因此仍然可以用 \(qpow(10, l_{i}, 9M)\) 来求 \(10^{l_{i}} \% \space 9M\)。)
F - Authentic Traveling Salesman Problem
利用了 莫队+奇偶性优化 的原理: 将 x 看作区间左端点,y 看作区间右端点,然后按照 x 方向分块,每一块内的点按照 y 交替升序与降序排序。模拟一下就会发现复杂度分析与莫队完全一致。

浙公网安备 33010602011771号