Maths for CP

126
Maths Modeling and Computations Berthin Torres [email protected] Departamento Acad´ emico de Inform´ atica Universidad Nacional de San Antonio Abal del Cusco Cusco, Per´ u Wednesday 17 th April, 2013 Berthin Torres [email protected] Maths

Transcript of Maths for CP

MathsModeling and Computations

Berthin [email protected]

Departamento Academico de InformaticaUniversidad Nacional de San Antonio Abal del Cusco

Cusco, Peru

Wednesday 17th April, 2013

Berthin Torres [email protected] Maths

Contenido

1 NumerosBusqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

2 Arıtmetica ModularOperaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Berthin Torres [email protected] Maths

Contenido

3 Principio del Palomar

4 Principio de Inclusion y Exclusion

5 Secuencia de FibonacciDefinicionVariantes

6 MatricesDefinicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

7 Lecturas Opcionales y Bibliografia

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Contenido

1 NumerosBusqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

2 Arıtmetica ModularOperaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Problem Statement - I

Rugs come in various sizes. In fact, we can find a rug with anyinteger width and length, except that no rugs have a distinctwidth and length that are both even integers. For example, wecan find a 4x4 rug, but not a 2x4 rug. We want to know howmany different choices we have for a given area. Create a classRugSizes the contains a method rugCount that is given thedesired area and returns the number of different ways in whichwe can choose a rug size that will cover that exact area. Donot count the same size twice – a 6 x 9 rug and a 9 x 6 rugshould be counted as one choice.

Constraints

Area will be between 1 and 100,000, inclusive.

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Example

Area : 4Returns: 2The choices are 1 x 4 (or equivalently 4 x 1) and 2 x 2.

Area : 8Returns: 1Only 1 x 8 is available. Note that 2 x 4 has the desiredarea, but is not available since its width and length differand are both even numbers.

TopCoder : Single Round Match 304 Round 1 - Division II,Level One

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Problem Statement - II

You will be given a string of digits that supposedly come fromthree prime numbers. The digits will be given in a randomorder. Your task is to find the three prime numbers, if theyexist. If there are three such primes, return them sorted leastto greatest. If there is more than one possible set of threeprimes, return the set with the smallest product. If there is nosuch set, return { }.For example, the five digits of the primes 5, 13, and 19 couldbe given to you as ”39151”. There are several other sets ofprime numbers that could also be rearranged to give thisinput, for example 5, 31, 19 and 3, 11, 59 . The set withthe smallest product is 5, 13, 19 , so those are the threeprimes your method should return.

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Problem Statement - II (Cont)

Each digit of each prime will be present in the input. Forexample, if the input contains exactly two occurrences of thedigit ”1” (as in the example above), you must use the digit”1” exactly twice.Any zeros in the input may not be used as leading zeros in anyof the three primes.

Constraints

Anagram will contain between 3 and 8 characters, inclusive.Each character of anagram will be a digit.

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Example

Input : ”39151”Returns: 5, 13, 19This is the example from the problem statement.

Input : ”921179”Returns: 2, 17, 199

Input : ”01123”Returns: 2, 3, 101The input may have a leading zero, but the primes maynot. 2, 3, 011 is not a valid answer.

TopCoder : Single Round Match 223 Round 1 - Division I,Level Two

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Dado un numero natural n ∈ Z+, n > 1 puede ser expresadocomo:

n = pe00 pe1

1 . . . pek−1

k−1 , k ≥ 1, ei ≥ 1 ∀i ∈ {0, . . . , k − 1}

siendo pi un numero primo.

Numero Primo

p ∈ Z+ es primo ⇐⇒ 1 y p son sus divisores.1 no es numero primo.

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Dado un numero natural n ∈ Z+, n > 1 puede ser expresadocomo:

n = pe00 pe1

1 . . . pek−1

k−1 , k ≥ 1, ei ≥ 1 ∀i ∈ {0, . . . , k − 1}

siendo pi un numero primo.

Numero Primo

p ∈ Z+ es primo ⇐⇒ 1 y p son sus divisores.

1 no es numero primo.

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Dado un numero natural n ∈ Z+, n > 1 puede ser expresadocomo:

n = pe00 pe1

1 . . . pek−1

k−1 , k ≥ 1, ei ≥ 1 ∀i ∈ {0, . . . , k − 1}

siendo pi un numero primo.

Numero Primo

p ∈ Z+ es primo ⇐⇒ 1 y p son sus divisores.1 no es numero primo.

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Contenido

1 NumerosBusqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

2 Arıtmetica ModularOperaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Busqueda de Numeros PrimosCriba de Erastostenes

Buscar todos los numeros primos en un rango comprendidoentre 1 y 107.

Idea

Realizar las consultas de manera mas inteligentes.

No sirve de nada consultar por aquellos numerosdescartados en una iteracion anterior.

Es suficiente iterar hasta√

N

Complejidad

O(N log log N)Tambien se puede hallar un algoritmo cuya complejidad sea :∼ O(N)

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Busqueda de Numeros PrimosCriba de Erastostenes

Buscar todos los numeros primos en un rango comprendidoentre 1 y 107.

Idea

Realizar las consultas de manera mas inteligentes.

No sirve de nada consultar por aquellos numerosdescartados en una iteracion anterior.

Es suficiente iterar hasta√

N

Complejidad

O(N log log N)Tambien se puede hallar un algoritmo cuya complejidad sea :∼ O(N)

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Ejemplo

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Ejemplo

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Ejemplo

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Ejemplo

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Ejemplo

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Ejemplo

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Algoritmo

1 bool esPrimo[N];2 memset (esPrimo, true, sizeof esPrimo);3 esPrimo[0] = esPrimo[1] = false;4 for (i = 4; i ∗ i < N; i += 2) esPrimo[i] = false;5 for (i = 3; i ∗ i < N; i += 2)6 if (esPrimo[i])7 for (j = i ∗ i; j < N; j += i) esPrimo[j] = false;

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Contenido

1 NumerosBusqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

2 Arıtmetica ModularOperaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Factorizacion

Para factorizar un numero entero, podemos realizar unavariante a nuestra criba, asegurandonos de guardarinformacion extra.

1 int P[N ];2 memset (P, −1, sizeof P);3 for (i = 4; i ∗ i < N; i += 2) P[i] = 2;4 for (i = 3; i ∗ i < N; i += 2)5 if (P[i] == −1)6 for (j = i ∗ i; j < N; j += i) P[j] = i;

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Codigo

Y finalmente el codigo para obtener los factores primos serıa elsiguiente:

1 fact = 0;2 while (P[n] != −1) {3 F[fact++] = P[n];4 n /= P[n];5 }6 F[fact++] = n;

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Contenido

1 NumerosBusqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

2 Arıtmetica ModularOperaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Definicion

Divisibilidad, se dice que m divide a n (o n es divisible porm) si m > 0 y la proporcion n/m es un entero.

m\n ⇐⇒ m > 0 y n = m · k para algun k .

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Definicion

Divisibilidad, se dice que m divide a n (o n es divisible porm) si m > 0 y la proporcion n/m es un entero.

m\n ⇐⇒ m > 0 y n = m · k para algun k .

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Contenido

1 NumerosBusqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

2 Arıtmetica ModularOperaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Maximo Comun Divisor

Dados 2 numeros p, q ∈ Z, y p! = 0 o q! = 0, se define unafuncion gcd(p, q) = r como gcd : Z→ Z+, donde r es elentero mas grande que divide a p y q sin que haya resto.

gcd(p, q) = max{k , k\p y k\q}

gcd(p, q) =

{p q = 0

gcd(q, p%q) q > 0

gcd (a1, a2, a3) = gcd ( gcd ( a1, a2), a3), a1, a2, a3 ∈ Z+

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Maximo Comun Divisor

Dados 2 numeros p, q ∈ Z, y p! = 0 o q! = 0, se define unafuncion gcd(p, q) = r como gcd : Z→ Z+, donde r es elentero mas grande que divide a p y q sin que haya resto.

gcd(p, q) = max{k , k\p y k\q}

gcd(p, q) =

{p q = 0

gcd(q, p%q) q > 0

gcd (a1, a2, a3) = gcd ( gcd ( a1, a2), a3), a1, a2, a3 ∈ Z+

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Maximo Comun Divisor

Dados 2 numeros p, q ∈ Z, y p! = 0 o q! = 0, se define unafuncion gcd(p, q) = r como gcd : Z→ Z+, donde r es elentero mas grande que divide a p y q sin que haya resto.

gcd(p, q) = max{k , k\p y k\q}

gcd(p, q) =

{p q = 0

gcd(q, p%q) q > 0

gcd (a1, a2, a3) = gcd ( gcd ( a1, a2), a3), a1, a2, a3 ∈ Z+

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Teorema 1

gcd(a, b) = gcd(|a|, b) = gcd(a, |b|) = gcd(|a|, |b|)Alternativamente, esto puede ser escrito como:gcd(a, b) = gcd(−a, b) = gcd(a,−b) = gcd(−a,−b)

Proof.

gcd(a, b) = k = gcd(|a|, b)(⇒)Sea k = gcd(a, b), donde k\a y k\b esto indica que∃ q1, q2 ∈ Z / a = q1 · k y b = q2 · kComo |a| = ±a, |a| = ±q1 · k = (±q1) · k , por lo que k\|a|.Entonces, gcd(|a|, b) = gcd((±q1) · k , q2 · k) = k .De manera parecida se puede demostrar para el casok = gcd(|a|, b)

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Teorema 2

Dados 2 numeros enteros a, b donde uno de ellos es diferentede cero. Existen 2 enteros u, v de modo que:

gcd(a, b) = ua + vb

Proof.

. . .

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Mınimo Comun Multiplo

Dados 2 numeros p, q ∈ Z+, se define una funcionlcm(p, q) = r como lcm : Z+2 → Z+, donde r es el entero maspequeno que es divisible por p y q sin que haya resto.

lcm(p, q) = min{k , k > 0, p\k y q\k}

p · q = gcd(p, q) · lcm(p, q)

lcm (a1, a2, a3) = lcm ( lcm ( a1, a2), a3), a1, a2, a3 ∈ Z+

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Mınimo Comun Multiplo

Dados 2 numeros p, q ∈ Z+, se define una funcionlcm(p, q) = r como lcm : Z+2 → Z+, donde r es el entero maspequeno que es divisible por p y q sin que haya resto.

lcm(p, q) = min{k , k > 0, p\k y q\k}

p · q = gcd(p, q) · lcm(p, q)

lcm (a1, a2, a3) = lcm ( lcm ( a1, a2), a3), a1, a2, a3 ∈ Z+

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Mınimo Comun Multiplo

Dados 2 numeros p, q ∈ Z+, se define una funcionlcm(p, q) = r como lcm : Z+2 → Z+, donde r es el entero maspequeno que es divisible por p y q sin que haya resto.

lcm(p, q) = min{k , k > 0, p\k y q\k}

p · q = gcd(p, q) · lcm(p, q)

lcm (a1, a2, a3) = lcm ( lcm ( a1, a2), a3), a1, a2, a3 ∈ Z+

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Problem Statement I - Hints

Nos piden contar el numero de pares (a, b) con tal de quea · b = Area, a ≤ b.

Usar la idea de la criba, iterar a desde 1 hasta√

Area yen cada paso ver si a\Area, y hallar el valorb, b = Area/a. De esta manera se controla que a ≤ b.

Verificar que el par (a, b) cumplan con las condiciones delproblema.

Complejidad O(√

Area) ≡ (103).

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Problem Statement I - Hints

Nos piden contar el numero de pares (a, b) con tal de quea · b = Area, a ≤ b.

Usar la idea de la criba, iterar a desde 1 hasta√

Area yen cada paso ver si a\Area, y hallar el valorb, b = Area/a. De esta manera se controla que a ≤ b.

Verificar que el par (a, b) cumplan con las condiciones delproblema.

Complejidad O(√

Area) ≡ (103).

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Problem Statement I - Hints

Nos piden contar el numero de pares (a, b) con tal de quea · b = Area, a ≤ b.

Usar la idea de la criba, iterar a desde 1 hasta√

Area yen cada paso ver si a\Area, y hallar el valorb, b = Area/a. De esta manera se controla que a ≤ b.

Verificar que el par (a, b) cumplan con las condiciones delproblema.

Complejidad O(√

Area) ≡ (103).

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Problem Statement I - Hints

Nos piden contar el numero de pares (a, b) con tal de quea · b = Area, a ≤ b.

Usar la idea de la criba, iterar a desde 1 hasta√

Area yen cada paso ver si a\Area, y hallar el valorb, b = Area/a. De esta manera se controla que a ≤ b.

Verificar que el par (a, b) cumplan con las condiciones delproblema.

Complejidad O(√

Area) ≡ (103).

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Problem Statement II - Hints

Construir una criba para determinar los numeros primoscomprendidos en el rango [1, 106]. Dado que la longitudmaxima del anagrama es de 8, y al menos hay 3 primos,deben de haber por lo menos 2 primos de al menos 1caracter dando como un primo de 6 caracteres comomaximo numero a considerar. O(n log log n)

Permutar el anagrama y probar si puede encontrar 3primos (p1, p2, p3) de la forma p1 = a1a2...ai , p2 =ai+1, ai+2, ..., aj , p3 = aj+1, aj+2, ..., ak , donde k es lalongitud del anagrama. O(k!)

Complejidad O(k! + n log log n) ≡ (8! + 4 ∗ 106) ≡ (5 ∗ 106).

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Problem Statement II - Hints

Construir una criba para determinar los numeros primoscomprendidos en el rango [1, 106]. Dado que la longitudmaxima del anagrama es de 8, y al menos hay 3 primos,deben de haber por lo menos 2 primos de al menos 1caracter dando como un primo de 6 caracteres comomaximo numero a considerar. O(n log log n)

Permutar el anagrama y probar si puede encontrar 3primos (p1, p2, p3) de la forma p1 = a1a2...ai , p2 =ai+1, ai+2, ..., aj , p3 = aj+1, aj+2, ..., ak , donde k es lalongitud del anagrama. O(k!)

Complejidad O(k! + n log log n) ≡ (8! + 4 ∗ 106) ≡ (5 ∗ 106).

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Busqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

Problem Statement II - Hints

Construir una criba para determinar los numeros primoscomprendidos en el rango [1, 106]. Dado que la longitudmaxima del anagrama es de 8, y al menos hay 3 primos,deben de haber por lo menos 2 primos de al menos 1caracter dando como un primo de 6 caracteres comomaximo numero a considerar. O(n log log n)

Permutar el anagrama y probar si puede encontrar 3primos (p1, p2, p3) de la forma p1 = a1a2...ai , p2 =ai+1, ai+2, ..., aj , p3 = aj+1, aj+2, ..., ak , donde k es lalongitud del anagrama. O(k!)

Complejidad O(k! + n log log n) ≡ (8! + 4 ∗ 106) ≡ (5 ∗ 106).

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Contenido

1 NumerosBusqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

2 Arıtmetica ModularOperaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Definicion y notacion

Dados a, r ∈ Z y m ∈ Z+, formalmente se define como:

a ≡m r ⇐⇒ a = q ·m + r , r ∈ {0, 1, . . . ,m − 1}

Y en algunos casos, se puede usar definir como:

a ≡ r (mod m)

o simplementea mod m = r

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Definicion y notacion

Dados a, r ∈ Z y m ∈ Z+, formalmente se define como:

a ≡m r ⇐⇒ a = q ·m + r , r ∈ {0, 1, . . . ,m − 1}

Y en algunos casos, se puede usar definir como:

a ≡ r (mod m)

o simplementea mod m = r

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Contenido

1 NumerosBusqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

2 Arıtmetica ModularOperaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Operaciones basicas

Adicion y sustraccion:a ± b = c ⇒ a ± b ≡m c

Multiplicacion:a · b = c ⇒ a · b ≡m c

Division:Inverso Modular

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Inverso Modular

Para m un numero primo:

a/b (mod m) = a · bm−2 (mod m)

Para m no primo:

a/b (mod m) = (a mod (m · b)) /b

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Contenido

1 NumerosBusqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

2 Arıtmetica ModularOperaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Sea a, b ∈ Z, m ∈ Z+, calcular ab mod m si:

|a|, |b| ≤ 103 y m ≤ 103 O(b)

|a|, |b| ≤ 106 y m ≤ 106 O(b)

|a|, |b| ≤ 109 y m ≤ 109 O(log(b))

|a|, |b| ≤ 1018 y m ≤ 1018 O(log(b))

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Sea a, b ∈ Z, m ∈ Z+, calcular ab mod m si:

|a|, |b| ≤ 103 y m ≤ 103

O(b)

|a|, |b| ≤ 106 y m ≤ 106 O(b)

|a|, |b| ≤ 109 y m ≤ 109 O(log(b))

|a|, |b| ≤ 1018 y m ≤ 1018 O(log(b))

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Sea a, b ∈ Z, m ∈ Z+, calcular ab mod m si:

|a|, |b| ≤ 103 y m ≤ 103 O(b)

|a|, |b| ≤ 106 y m ≤ 106 O(b)

|a|, |b| ≤ 109 y m ≤ 109 O(log(b))

|a|, |b| ≤ 1018 y m ≤ 1018 O(log(b))

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Sea a, b ∈ Z, m ∈ Z+, calcular ab mod m si:

|a|, |b| ≤ 103 y m ≤ 103 O(b)

|a|, |b| ≤ 106 y m ≤ 106

O(b)

|a|, |b| ≤ 109 y m ≤ 109 O(log(b))

|a|, |b| ≤ 1018 y m ≤ 1018 O(log(b))

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Sea a, b ∈ Z, m ∈ Z+, calcular ab mod m si:

|a|, |b| ≤ 103 y m ≤ 103 O(b)

|a|, |b| ≤ 106 y m ≤ 106 O(b)

|a|, |b| ≤ 109 y m ≤ 109 O(log(b))

|a|, |b| ≤ 1018 y m ≤ 1018 O(log(b))

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Sea a, b ∈ Z, m ∈ Z+, calcular ab mod m si:

|a|, |b| ≤ 103 y m ≤ 103 O(b)

|a|, |b| ≤ 106 y m ≤ 106 O(b)

|a|, |b| ≤ 109 y m ≤ 109

O(log(b))

|a|, |b| ≤ 1018 y m ≤ 1018 O(log(b))

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Sea a, b ∈ Z, m ∈ Z+, calcular ab mod m si:

|a|, |b| ≤ 103 y m ≤ 103 O(b)

|a|, |b| ≤ 106 y m ≤ 106 O(b)

|a|, |b| ≤ 109 y m ≤ 109 O(log(b))

|a|, |b| ≤ 1018 y m ≤ 1018 O(log(b))

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Sea a, b ∈ Z, m ∈ Z+, calcular ab mod m si:

|a|, |b| ≤ 103 y m ≤ 103 O(b)

|a|, |b| ≤ 106 y m ≤ 106 O(b)

|a|, |b| ≤ 109 y m ≤ 109 O(log(b))

|a|, |b| ≤ 1018 y m ≤ 1018

O(log(b))

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Sea a, b ∈ Z, m ∈ Z+, calcular ab mod m si:

|a|, |b| ≤ 103 y m ≤ 103 O(b)

|a|, |b| ≤ 106 y m ≤ 106 O(b)

|a|, |b| ≤ 109 y m ≤ 109 O(log(b))

|a|, |b| ≤ 1018 y m ≤ 1018 O(log(b))

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Idea

Si nos piden a8, tenemos lo siguiente: a8 = a · a · a · a · a · a · a · aa8 = a2 · a2 · a2 · a2

a8 = a4 · a4

a8 = a8

Ademas, sabemos que:a2 = a · aa4 = a2 · a2

a8 = a4 · a4

Approach I : Usar memorizacion!

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Idea

Si nos piden a8, tenemos lo siguiente: a8 = a · a · a · a · a · a · a · aa8 = a2 · a2 · a2 · a2

a8 = a4 · a4

a8 = a8

Ademas, sabemos que:a2 = a · aa4 = a2 · a2

a8 = a4 · a4

Approach I : Usar memorizacion!

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Approach I

Si consideramos memorizar:

1 int fastPow(int a, int b, int m) {2 if (b == 0) return 1;3 if (b == 1) return a % m;4

5 if (b & 1) {6 return (fastPow(a, b − 1, m) ∗ a) % m;7 } else {8 int r = fastPow(a, b / 2, m);9 return (r ∗ r) % m;

10 }11 }

Complejidad : O(log(b))

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Approach I

Si consideramos memorizar:

1 int fastPow(int a, int b, int m) {2 if (b == 0) return 1;3 if (b == 1) return a % m;4

5 if (b & 1) {6 return (fastPow(a, b − 1, m) ∗ a) % m;7 } else {8 int r = fastPow(a, b / 2, m);9 return (r ∗ r) % m;

10 }11 }

Complejidad : O(log(b))Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Idea

Si nos piden a6, tenemos lo siguiente: a6 = a · a · a · a · a · aa6 = a2 · a2 · a2 = a4 · a2 = a6

Y con a7, tenemos lo siguiente: a7 = a · a · a · a · a · a · aa7 = a3 · a · a2 · a = a3 · a3 · aa7 = a6 · a = a7

Pero, si agrupamos de la siguiente forma:a7 = a · a · a · a · a · a · aa7 = a2 · a2 · a2 · a = a4 · a2 · a

Approach II : Agrupar inteligentemente!

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Idea

Si nos piden a6, tenemos lo siguiente: a6 = a · a · a · a · a · aa6 = a2 · a2 · a2 = a4 · a2 = a6

Y con a7, tenemos lo siguiente: a7 = a · a · a · a · a · a · aa7 = a3 · a · a2 · a = a3 · a3 · aa7 = a6 · a = a7

Pero, si agrupamos de la siguiente forma:a7 = a · a · a · a · a · a · aa7 = a2 · a2 · a2 · a = a4 · a2 · a

Approach II : Agrupar inteligentemente!

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Idea

Si nos piden a6, tenemos lo siguiente: a6 = a · a · a · a · a · aa6 = a2 · a2 · a2 = a4 · a2 = a6

Y con a7, tenemos lo siguiente: a7 = a · a · a · a · a · a · aa7 = a3 · a · a2 · a = a3 · a3 · aa7 = a6 · a = a7

Pero, si agrupamos de la siguiente forma:a7 = a · a · a · a · a · a · aa7 = a2 · a2 · a2 · a = a4 · a2 · a

Approach II : Agrupar inteligentemente!

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Idea

Si nos piden a6, tenemos lo siguiente: a6 = a · a · a · a · a · aa6 = a2 · a2 · a2 = a4 · a2 = a6

Y con a7, tenemos lo siguiente: a7 = a · a · a · a · a · a · aa7 = a3 · a · a2 · a = a3 · a3 · aa7 = a6 · a = a7

Pero, si agrupamos de la siguiente forma:a7 = a · a · a · a · a · a · aa7 = a2 · a2 · a2 · a = a4 · a2 · a

Approach II : Agrupar inteligentemente!

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Approach II

Si consideramos la agrupacion inteligente:

1 int fastPow(int a, int b, int m) {2 int r = 1;3 while (b) {4 if (b & 1) r = (r ∗ a) % m;5 a = (a ∗ a) % m;6 b >>= 1;7 }8 return r;9 }

Complejidad : O(log(b))

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Approach II

Si consideramos la agrupacion inteligente:

1 int fastPow(int a, int b, int m) {2 int r = 1;3 while (b) {4 if (b & 1) r = (r ∗ a) % m;5 a = (a ∗ a) % m;6 b >>= 1;7 }8 return r;9 }

Complejidad : O(log(b))

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Contenido

1 NumerosBusqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

2 Arıtmetica ModularOperaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Problem Statement III

Una mujer le dice a un policıa que ella ha perdido su canastacon huevos, y que si sacan un numero de veces 3 huevos de lacanasta, ella se quedarıa con 2 huevos, si sacan un numero deveces 5, ella se quedarıa con 3, y si sacasen 7 huevos unnumero de veces, solo le quedarıan 2 huevos. Finalmente, ellale pregunta al policıa por el mınimo numero de huevos quedeberıa de tener en su canasta.

Cual es el numero mas pequeno n que cuando es dividido por3 deja un resto de 2, cuando es dividido por 5 deja un resto de3, y cuando es dividido por 7 deja un resto de 2?

La respuesta es 23

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Problem Statement III

Una mujer le dice a un policıa que ella ha perdido su canastacon huevos, y que si sacan un numero de veces 3 huevos de lacanasta, ella se quedarıa con 2 huevos, si sacan un numero deveces 5, ella se quedarıa con 3, y si sacasen 7 huevos unnumero de veces, solo le quedarıan 2 huevos. Finalmente, ellale pregunta al policıa por el mınimo numero de huevos quedeberıa de tener en su canasta.

Cual es el numero mas pequeno n que cuando es dividido por3 deja un resto de 2, cuando es dividido por 5 deja un resto de3, y cuando es dividido por 7 deja un resto de 2?

La respuesta es 23

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Problem Statement III

Una mujer le dice a un policıa que ella ha perdido su canastacon huevos, y que si sacan un numero de veces 3 huevos de lacanasta, ella se quedarıa con 2 huevos, si sacan un numero deveces 5, ella se quedarıa con 3, y si sacasen 7 huevos unnumero de veces, solo le quedarıan 2 huevos. Finalmente, ellale pregunta al policıa por el mınimo numero de huevos quedeberıa de tener en su canasta.

Cual es el numero mas pequeno n que cuando es dividido por3 deja un resto de 2, cuando es dividido por 5 deja un resto de3, y cuando es dividido por 7 deja un resto de 2?

La respuesta es 23

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Enunciado del teorema

Supongamos que tenemos n0, n1, . . . , nk−1 enteros positivos,donde cada par ni , nj(i 6= j) son coprimos. Para cualquiersecuenca de numeros a0, a1, . . . , ak−1 existe un entero x quecumple con el siguiente sistema de congruencias simultaneas.

x ≡ a0(mod n0)x ≡ a1(mod n1)

...x ≡ ak−1(mod nk−1)

Existe un x mod N que satisface todas las condicionessimultaneamente, con N = n0 · n1 · · · · nk−1.

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Sea, mi =k−1∏

j=0,j 6=i

ni , se cumple que gcd(ni ,mi) = 1.

mi = m−1i mod ni , entonces:

x ≡k−1∑i=0

mi ·mi · ai mod N

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Contenido

1 NumerosBusqueda de Numeros PrimosFactorizacionDivisibilidadMaximo Comun Divisor y Mınimo Comun Multiplo

2 Arıtmetica ModularOperaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Problem Statement - IV

Suppose that we have available postage stamps in twodenominations : 5p and 7p. What values can one make usingcombinations of stamps?

Example

10 = 2 · 5 + 0 · 7

12 = 1 · 5 + 1 · 7

97 = 18 · 5 + 1 · 7

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Ecuaciones Lineales Diofanticas

Una ecuacion Diofantica es una ecuacion que involucra unnumero de variables cuyos coeficientes son numeros enteros ydonde se espera saber los valores para esas variables.

x + y = 1

3x + 6y = 1

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Definicion

Una ecuacion lineal Diofantica (2 variables) es una ecuacionde la forma

ax + by = c

, donde a, b, c ∈ Z.

Sobre que condiciones la ecuacion tiene solucionesenteras?

Si la ecuacion tiene solucion, cuantas son?

Como hallar todas las soluciones?

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Definicion

Una ecuacion lineal Diofantica (2 variables) es una ecuacionde la forma

ax + by = c

, donde a, b, c ∈ Z.

Sobre que condiciones la ecuacion tiene solucionesenteras?

Si la ecuacion tiene solucion, cuantas son?

Como hallar todas las soluciones?

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Definicion

Una ecuacion lineal Diofantica (2 variables) es una ecuacionde la forma

ax + by = c

, donde a, b, c ∈ Z.

Sobre que condiciones la ecuacion tiene solucionesenteras?

Si la ecuacion tiene solucion, cuantas son?

Como hallar todas las soluciones?

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Definicion

Una ecuacion lineal Diofantica (2 variables) es una ecuacionde la forma

ax + by = c

, donde a, b, c ∈ Z.

Sobre que condiciones la ecuacion tiene solucionesenteras?

Si la ecuacion tiene solucion, cuantas son?

Como hallar todas las soluciones?

Berthin Torres [email protected] Maths

NumerosArıtmetica Modular

Operaciones basicasExponenciacion modularTeorema Chino del RestoEcuaciones Diofanticas

Teorema 3

Sea a, b y c enteros, a, b > 0.

I La ecuacion Diofantica

ax + by = c

tiene solucion si y solo si para d = gcd(a, b), d\c.

II Si d\c una solucion puede obtenersedeterminando valores u, v tal que d = ua + vb,donde :

x0 = uc/d y y0 = vc/d

Las demas soluciones son la forma:

x = x0 + (b/d)t, y = y0 − (a/d)t

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Contenido

3 Principio del Palomar

4 Principio de Inclusion y Exclusion

5 Secuencia de FibonacciDefinicionVariantes

6 MatricesDefinicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

7 Lecturas Opcionales y Bibliografia

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Problem Statement - V

There are 5 points in a square of side length 2. Prove thatthere exist 2 of them having a distance not more than

√2.

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Teorema 4

Cuando n palomas son puestas en k nidos, siempre existe almenos 1 nido que contiene no menos que dn/ke y al menos 1nido conteniendo no mas que bn/kc palomas.

Proof.

. . .

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Contenido

3 Principio del Palomar

4 Principio de Inclusion y Exclusion

5 Secuencia de FibonacciDefinicionVariantes

6 MatricesDefinicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

7 Lecturas Opcionales y Bibliografia

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Problem Statement - VI

Given a positive integer N, your task is to calculate the sum ofthe positive integers less than N which are not coprime to N.A is said to be coprime to B if A, B share no common positivedivisors except 1.

Input

For each test case, there is a line containing a positive integerN (1 ≤ N ≤ 109). A line containing a single 0 follows the lasttest case.

Output

For each test case, you should print the sum module 109 + 7 ina line.

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Example

N = 3Answer : 0There is no number whose gcd(a,N) > 1, a = 1, 2.

N = 6Answer: 9There are 3 numbers (2, 3, 4) which are not coprime to 6,gcd(2, 6) = 2, gcd(3, 6) = 3, gcd(4, 6) = 2.

TJU Online Judge : 3611 - Calculation 2

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

El principio de Inclusion - Exclusion es una forma de averiguarel numero de elementos de la union de varios conjuntos. Demanera intuitiva, sean 2 conjuntos A,B donde

|A ∪ B | = |A|+ |B | − |A ∩ B |

De igual manera, si hay 3 conjuntos A,B y C , donde

|A∪B∪C | = |A|+|B |+|C |−|A∩B |−|A∩C |−|B∩C |+|A∩B∩C |

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Sean n conjuntos, A1,A2, . . .An, entonces:|A1 ∪ · · · ∪ An| =+|A1|+ |A2|+ · · ·+ |An|−|A1∩A2|−|A1∩A3|−· · ·−|A1∩An|−|A2∩A3|−· · ·−|An−1∩An|+|A1 ∩ A2 ∩ A3|+ |A1 ∩ A2 ∩ A4|+ · · ·+ |An−2 ∩ An−1 ∩ An|− · · · ± |A1 ∩ A2 ∩ · · · ∩ An|

|A1 ∪ · · · ∪ An| =n∑

i=1

(−1)i−1∑

|S |=i ; S⊆{1,2,...,n}

∣∣∣∣∣⋂j∈S

Aj

∣∣∣∣∣|A1 ∪ · · · ∪ An| =

∑S⊆{1,2,...,n}; S 6=∅

(−1)|S |−1

∣∣∣∣∣⋂j∈S

Aj

∣∣∣∣∣

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Sean n conjuntos, A1,A2, . . .An, entonces:|A1 ∪ · · · ∪ An| =+|A1|+ |A2|+ · · ·+ |An|−|A1∩A2|−|A1∩A3|−· · ·−|A1∩An|−|A2∩A3|−· · ·−|An−1∩An|+|A1 ∩ A2 ∩ A3|+ |A1 ∩ A2 ∩ A4|+ · · ·+ |An−2 ∩ An−1 ∩ An|− · · · ± |A1 ∩ A2 ∩ · · · ∩ An|

|A1 ∪ · · · ∪ An| =n∑

i=1

(−1)i−1∑

|S |=i ; S⊆{1,2,...,n}

∣∣∣∣∣⋂j∈S

Aj

∣∣∣∣∣

|A1 ∪ · · · ∪ An| =∑

S⊆{1,2,...,n}; S 6=∅

(−1)|S |−1

∣∣∣∣∣⋂j∈S

Aj

∣∣∣∣∣

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Sean n conjuntos, A1,A2, . . .An, entonces:|A1 ∪ · · · ∪ An| =+|A1|+ |A2|+ · · ·+ |An|−|A1∩A2|−|A1∩A3|−· · ·−|A1∩An|−|A2∩A3|−· · ·−|An−1∩An|+|A1 ∩ A2 ∩ A3|+ |A1 ∩ A2 ∩ A4|+ · · ·+ |An−2 ∩ An−1 ∩ An|− · · · ± |A1 ∩ A2 ∩ · · · ∩ An|

|A1 ∪ · · · ∪ An| =n∑

i=1

(−1)i−1∑

|S |=i ; S⊆{1,2,...,n}

∣∣∣∣∣⋂j∈S

Aj

∣∣∣∣∣|A1 ∪ · · · ∪ An| =

∑S⊆{1,2,...,n}; S 6=∅

(−1)|S |−1

∣∣∣∣∣⋂j∈S

Aj

∣∣∣∣∣

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

DefinicionVariantes

Contenido

3 Principio del Palomar

4 Principio de Inclusion y Exclusion

5 Secuencia de FibonacciDefinicionVariantes

6 MatricesDefinicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

7 Lecturas Opcionales y Bibliografia

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

DefinicionVariantes

Problem Statement - VII

Suppose we put two panes of glass back-to-back. How manyways an are there for light rays to pass through or be reflectedafter changing direction n times ? Following figure shows thesituations when the value of n is 0, 1 and 2.

Input

It is a set of lines with an integer n where 0 ≤ n ≤ 1000 ineach of them.

Output

For every one of these integers a line containing an asdescribed above.

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

DefinicionVariantes

Example

n = 0Answer : 1

n = 1Answer : 2

n = 2Answer : 3

UVa Online Judge : 10334 - Ray Through Glasses

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

DefinicionVariantes

Contenido

3 Principio del Palomar

4 Principio de Inclusion y Exclusion

5 Secuencia de FibonacciDefinicionVariantes

6 MatricesDefinicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

7 Lecturas Opcionales y Bibliografia

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

DefinicionVariantes

fib(n) =

0 n = 01 n = 1

fib(n − 1) + fib(n − 2) n ≥ 2

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, . . .

Complexity :

O(n) : DP

O(log n) : Exponenciacion de Matrices

O(1) : Aproximacion fib(n) = φn/√

5 dondeφ = ((1 +

√5)/2)

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

DefinicionVariantes

fib(n) =

0 n = 01 n = 1

fib(n − 1) + fib(n − 2) n ≥ 2

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, . . .

Complexity :

O(n) : DP

O(log n) : Exponenciacion de Matrices

O(1) : Aproximacion fib(n) = φn/√

5 dondeφ = ((1 +

√5)/2)

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

DefinicionVariantes

fib(n) =

0 n = 01 n = 1

fib(n − 1) + fib(n − 2) n ≥ 2

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, . . .

Complexity :

O(n) : DP

O(log n) : Exponenciacion de Matrices

O(1) : Aproximacion fib(n) = φn/√

5 dondeφ = ((1 +

√5)/2)

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

DefinicionVariantes

Teorema 5 - Zeckendorf’s Theorem

Cada entero positivo puede ser escrito de una unica formacomo la suma de 1 o mas numeros distintos de la serie deFibonacci, donde no se tengan 2 numeros consecutivos de laserie.

N = 15 = 13 + 2N = 150 = 144 + 5 + 1

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

DefinicionVariantes

Contenido

3 Principio del Palomar

4 Principio de Inclusion y Exclusion

5 Secuencia de FibonacciDefinicionVariantes

6 MatricesDefinicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

7 Lecturas Opcionales y Bibliografia

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

DefinicionVariantes

Fibinary Numbers (1/2)

The standard interpretation of the binary number 1010 is8 + 2 = 10. An alternate way to view the sequence “1010” isto use Fibonacci numbers as bases instead of powers of two.For this problem, the terms of the Fibonacci sequence are:

1, 2, 3, 5, 8, 13, 21, . . .

Where each term is the sum of the two preceding terms (notethat there is only one 1 in the sequence as defined here).Using this scheme, the sequence “1010” could be interpretedas 1 · 5 + 0 · 3 + 1 · 2 + 0 · 1 = 7. This representation is calleda Fibinary number.

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

DefinicionVariantes

Fibinary Numbers (2/2)

Note that there is not always a unique Fibinary representationof every number. For example the number 10 could berepresented as either 8 + 2 (10010) or as 5 + 3 + 2 (1110).To make the Fibinary representations unique, larger Fibonacciterms must always be used whenever possible (i.e. disallow 2adjacent 1’s). Applying this rule to the number 10, meansthat 10 would be represented as 8+2 (10010).

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

DefinicionVariantes

Just other sequences

f (n) = a · f (n − 1) + b · f (n − 2) + c

f (n) = a · f (n − 1) + b · f (n − 2) + c · f (n − 3)

f (n) =

{f (n − 1) n es parf (n − 2) n es impar

g(n) = a · g(n − 1) + b · g(n − 2) + c · f (n),f (n) = d · f (n − 1) + e · f (n − 2)

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

DefinicionVariantes

Just other sequences

f (n) = a · f (n − 1) + b · f (n − 2) + c

f (n) = a · f (n − 1) + b · f (n − 2) + c · f (n − 3)

f (n) =

{f (n − 1) n es parf (n − 2) n es impar

g(n) = a · g(n − 1) + b · g(n − 2) + c · f (n),f (n) = d · f (n − 1) + e · f (n − 2)

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

DefinicionVariantes

Just other sequences

f (n) = a · f (n − 1) + b · f (n − 2) + c

f (n) = a · f (n − 1) + b · f (n − 2) + c · f (n − 3)

f (n) =

{f (n − 1) n es parf (n − 2) n es impar

g(n) = a · g(n − 1) + b · g(n − 2) + c · f (n),f (n) = d · f (n − 1) + e · f (n − 2)

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

DefinicionVariantes

Just other sequences

f (n) = a · f (n − 1) + b · f (n − 2) + c

f (n) = a · f (n − 1) + b · f (n − 2) + c · f (n − 3)

f (n) =

{f (n − 1) n es parf (n − 2) n es impar

g(n) = a · g(n − 1) + b · g(n − 2) + c · f (n),f (n) = d · f (n − 1) + e · f (n − 2)

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Definicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

Contenido

3 Principio del Palomar

4 Principio de Inclusion y Exclusion

5 Secuencia de FibonacciDefinicionVariantes

6 MatricesDefinicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

7 Lecturas Opcionales y Bibliografia

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Definicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

Contenido

3 Principio del Palomar

4 Principio de Inclusion y Exclusion

5 Secuencia de FibonacciDefinicionVariantes

6 MatricesDefinicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

7 Lecturas Opcionales y Bibliografia

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Definicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

Definicion

Una matriz es una disposicion rectangular de numeros.

Una matriz con n filas y m columnas se denomina matrizn ×m .

Una matriz con el mismo numero de filas que decolumnas se llama matriz cuadrada.

Dos matrices son iguales si tienen el mismo numero defilas y columnas y los elementos en cada posiscion soniguales.

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Definicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

En resumen, una matriz An×m es un arreglo bidimensional de nfilas y m columnas. A ∈ R2

A = [aij ] =

a11 a12 . . . a1n

a21 a22 . . . a2n...

...am1 am2 . . . amn

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Definicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

Operaciones Basicas

Adicion y sustraccion:

An×m ± Bn×m = Cn×m = Bn×m ± An×m

Cij = Aij + Bij ∀ 1 ≤ i ≤ n y 1 ≤ j ≤ m

Multiplicacion:

An×m × Bm×p = Cn×p

Cij =k=m∑k=1

Aik · Ckj ∀ 1 ≤ i ≤ n y 1 ≤ j ≤ p

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Definicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

Matriz Identidad

La matriz identidad de orden n es la matriz n ×mIn = [δij ],donde δij = 1 si i = j y δij = 0 si i 6= j .

I =

1 0 . . . 00 1 . . . 0...

...0 0 . . . 1

Sea An×m una matriz, el producto con una matriz identidadcon el orden adecuado dara la matriz A.

A× In = Im × A = A

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Definicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

Sea An una matriz cuadrada y r ∈ N, el producto con unamatriz identidad con el orden adecuado dara la matriz A.

A0 = In

Ar = pow(A, r) = A× pow(A, r − 1)

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Definicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

Una matriz cuadrada A de orden n se dice que es invertible, nosingular, no degenerada o regular si existe otra matrizcuadrada de orden n, llamada matriz inversa de A yrepresentada como A−1, tal que:

A · A−1 = A−1 · A = In

donde In es la matriz identidad de orden n y el productoutilizado es el producto de matrices usual.Una matriz no invertible se dice que es singular o degenerada.Una matriz es singular si y solo si su determinante es nulo.

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Definicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

Laplace expansion

Tambien llamado “cofactor expansion”, es una expresion parala determinante |B | de una matrix cuadrada de orden n querepresenta la suma de las determinantes de n sub matrices deB , cada submatriz de orden (n − 1) times(n − 1). Elcofactor i , j de B es una escalar Cij definido como:

Cij = (−1)i+jMij

donde Mij es la matriz menor ij de B , que viene a ser ladeterminante de la matriz (n − 1)× (n − 1) que resulta deeliminar la i-esima fila y la i-esima columna de B .

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Definicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

Teorema 6

Sea B = |bij | una matriz cuadrada de orden n, dondei , j ∈ 1, 2, . . . n. La determinante |B | esta dada como:|B | = bi1Ci1 + bi2Ci2 · · ·+ binCin

= b1jC1j + b2jC2j · · ·+ bnjCnj

=n∑

j ′=1

bij ′Cij ′ =n∑

i ′=1

bi ′jCi ′j

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Definicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

Contenido

3 Principio del Palomar

4 Principio de Inclusion y Exclusion

5 Secuencia de FibonacciDefinicionVariantes

6 MatricesDefinicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

7 Lecturas Opcionales y Bibliografia

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Definicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

Fibonacci O(log n)

[fib(n)

fib(n − 1)

]=

[1 11 0

]×[

fib(n − 1)fib(n − 2)

][

fib(n + 1)fib(n)

]=

[1 11 0

]×[

fib(n)fib(n − 1)

][

fib(n + 1)fib(n)

]=

[1 11 0

]×[

1 11 0

]×[

fib(n)fib(n − 1)

][

fib(n + 1)fib(n)

]=

[1 11 0

]2

×[

fib(n)fib(n − 1)

]

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Definicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

Contenido

3 Principio del Palomar

4 Principio de Inclusion y Exclusion

5 Secuencia de FibonacciDefinicionVariantes

6 MatricesDefinicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

7 Lecturas Opcionales y Bibliografia

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Definicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

Un sistema de ecuaciones de n variables esta definido como:

a11x1 + . . . a1nxn = b1...

an1x1 + . . . annxn = bn

Y puede ser representado como:

AX = B ⇐⇒

a11 a12 . . . a1n

a21 a22 . . . a2n...

...an1 an2 . . . ann

×

x1

x2...

xn

=

b1

b2...

bn

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Contenido

3 Principio del Palomar

4 Principio de Inclusion y Exclusion

5 Secuencia de FibonacciDefinicionVariantes

6 MatricesDefinicion y Operaciones basicasSerie de FibonacciSistema de Ecuaciones

7 Lecturas Opcionales y Bibliografia

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Tarea

UVA 914 - Jumping Champion http://goo.gl/lFKCj

Berthin Torres [email protected] Maths

Principio del PalomarPrincipio de Inclusion y Exclusion

Secuencia de FibonacciMatrices

Links

Inverso Modular http://goo.gl/8IvZp

Maths for TopCoders http://goo.gl/k0sxs

Prime Numbers, Factorization and Euler Functionhttp://goo.gl/EYvBx

Fibonacci http://goo.gl/ugBIS

Lectures I http://goo.gl/XegSz

Lectures II http://goo.gl/Pc0r8

Berthin Torres [email protected] Maths