1 votos

combinatoria de $\binom{10^9} {r}$ mientras que $1 \leq r \leq10^9 \pmod {10^6+3}$

Cómo calcular $ \binom{n}{r} \mod m$ cuando $1\leq n,\: r\leq 10^9$ y $m=10^6+3$ . He intentado haciendo Tamiz de inverso factorial y multiplicativo $10^6+3 \mod m$ . ¿hay alguna solución en $\mathcal{O}(m)$ ?

2voto

$10^6+3$ es un número primo

Utilizando Teorema de Lucas :

$$\binom{n}{r} = \Pi_{i=0}^{k} \binom{n_i}{r_i}\ mod\ p$$

donde $n,r$ se expresan en base $p$ expansión.

$n=n_0 + n_1p + n_2p^2 + .. + n_kp^k$

$r=r_0 + r_1p + r_2p^2 + .. + r_kp^k $

Los coeficientes se encuentran en $O(log_k(n))$ y el número de $mod$ están limitadas por $O(k)$ mientras $\binom{n_i}{r_i}$ puede determinarse en $O(1)$ probablemente usando una tabla de búsqueda.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X