紫书数论(例题)

A Colossal Fibonacci Numbers!                             (循环节)

题意:求fibonacci数列f(a^b)项mod n (0<a,b<$2^64$,$1<=n<=1000$)

题解:

       我见过的fibonacci数列的常见处理方式:

       递推;

       矩阵快速幂:$$\begin{pmatrix} f(n) & f(n-1) \\ 0 & 0 \\ \end{pmatrix}  *  \begin{pmatrix} 1 & 1 \\ 1 & 0  \\ \end{pmatrix} = \begin{pmatrix} f(n)+f(n-1) & f(n) \\ 0 & 0 \\ \end{pmatrix} $$(这个东西老是忘记) ,定义一个矩阵类,再用快速幂运算,O(2^3*logn),ll内肯定是可以处理的,更高的连指数都要高精了;

      循环节:递推公式f(n)=f(n-1)+f(n-2),所以如果有二元组(f(i),f(i-1))重复出现的话就有循环节,而在mod n 的意义下最多有n^2个不同的二元组,那么直接枚举判断就好了;

     
      

B Choose and divide                                             (double精度处理)

       题意:求$\frac{C_p^q}{C_r^s}$的值保留5位小数(p,q,r,s<=10000)

              并且答案不超过1e8;

       题解:根据经验double一般可以保留到1e3左右的组合数;

                 但是题目要求1e4,可以用$C_n^m = \Pi_{i=1}^m \frac{n-i+1}{m-i+1}$这个形式一边乘一边除;

                 或者考虑对结果唯一分解,将1-1e4以内的质数全部找出来,利用$C_n^m = \frac{n!}{m!(n-m)!}$,这样除法就变成了对应指数的减法,看公式只需要统计N!的唯一分解就好;

               推荐:勒让德定理:

               $ L_p(n!) = \sum_{k\ge 1} [\frac{n}{p^k}] $(表示n!的唯一分解里面质因子p出现的次数) 

               
C GCD XOR                                                         (数学推导)
D Irrelevant Elements                                        (唯一分解定理)
E Send a Table                                                   (欧拉函数)
F Password                                                         (编码问题)
G Headshot                                                        (简单概率)
H Cows and Cars                                                (条件概率)
I Probability|Given                                            (条件概率)
J Double Patience                                              (概率+状压dp,不要dfs)
K Critical Mass                                                  (容斥或dp或递推)
L Pole Arrangement                                          (方案dp)
M Crossing Rivers                                             (期望)
N Coupons                                                         (期望dp-》递推公式)
O Probability                                                    (积分)
P So you want to be a 2n-aire?                         (期望最优也是一种概率)
Q Polygon                                                         (概率小游戏)
R The Counting Problem                                    (数位dp)
S How Many Pieces of Land ?                           (递推,求和+高精度)
T ASCII Area                                                  (计算几何)
U Joseph's Problem                                         (下底分块)
V Help Tomisu                                                  (n!欧拉函数递推)
W trees in a Wood.                                          (mobius/欧拉函数+枚举)
X Highways                                                      (枚举本质不同的线)
Y Magical GCD                                                 (gcd迭代的性质+链表)
Z Race                                                            (递推)

猜你喜欢

转载自www.cnblogs.com/Paul-Guderian/p/9715982.html