洛谷-做题记录
23/3/14
由 P8774[蓝桥杯 2022 省 A] 爬树的甲壳虫 而来:
- P1226【模板】快速幂||取余运算 回顾,之前错因
%lld
写成%d
- P1082 [NOIP2012 提高组] 同余方程,拓展欧几里得算法,有理数取余
3/15
- P2613 【模板】有理数取余,同样是拓展欧几里得算法,或者说进一步裴蜀定理
- 题解说的不错,但感觉从
bx ≡ a (mod p)
到bx ≡ 1 (mod p)
乃至有解情况分析的说法不太严谨。
应该是:
\[ \mbox{要求:} \ bx \equiv a \pmod p \iff bx + py = a,\ \ x,y \in N \\ \mbox{根据裴蜀定理:}\ bx + py = a \ \mbox{有整数解} \iff gcd(b,p) \mid a \\ \because p\ \mbox{为质数} \therefore \left\{ \begin{array}{} ①若 p \mid b\ ,\ 则 \left\{ \begin{array}{} 若 p \mid a\ ,恒成立,无数解,不过此情况已被题目ban掉了 \\ 若 p \nmid a\ ,则 gcd(b,p) = p \nmid a\ ,无解 \end{array} \right. \\ ②若 p \nmid b\ ,\ 则\ gcd(b,p) = 1,\ 则必然有 gcd(b,p) = 1 \mid a\ ,有解 \\ 此时根据拓欧/裴蜀可知, bx + py = 1 = gcd(b,p) 有解,求解后ax即为所求原始解 \end{array} \right. \]所以对于有解的情况,bx ≡ a (mod p)
的解均可化到bx ≡ 1 (mod p)
的解- 超大数字a和b,快读+随时取模解决。因为
bx ≡ a (mod p)
可化为bx % p ≡ a % p (mod p)
- 题解说的不错,但感觉从
拓展欧几里得算法:计算 ax + by = gcd(a,b)
某可行解的方法,同时也算是证明了该等式x,y必定有整数解
裴蜀定理: ax + by = c
有整数解 \(\iff\) c
可被gcd(a,b)
整除
3/16
P8774[蓝桥杯 2022 省 A] 爬树的甲壳虫 最终完成,概率部分经典逆向递归(dp[i]表示“从i到n所用的期望时间”
);计算部分每一步均使用有理数取余,方法是之前的拓展欧几里得,似乎还应该去试试费马小定理。
费马小定理:$a^{p-1} \equiv 1 \pmod p \ $,p为质数