SlideShare a Scribd company logo
1 of 113
Download to read offline
Maths
           Probability
            Problems




                  Maths
       League of Programmers
              ACA, IIT Kanpur




           October 22, 2012




League of Programmers    Maths
Maths
                               Probability
                                Problems

Outline


  1   Maths


  2   Probability


  3   Problems




                    League of Programmers    Maths
Maths
                            Probability
                             Problems

GCD

      gcd(a, b): greatest integer divides both a and b




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

GCD

      gcd(a, b): greatest integer divides both a and b
      If b|a then gcd(a,b) = b




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

GCD

      gcd(a, b): greatest integer divides both a and b
      If b|a then gcd(a,b) = b
      Otherwise a = bt+r for some t and r




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

GCD

      gcd(a, b): greatest integer divides both a and b
      If b|a then gcd(a,b) = b
      Otherwise a = bt+r for some t and r
          gcd(a,b) = gcd(b,r)




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

GCD

      gcd(a, b): greatest integer divides both a and b
      If b|a then gcd(a,b) = b
      Otherwise a = bt+r for some t and r
          gcd(a,b) = gcd(b,r)
          gcd(a,b) = gcd(b,a%b)




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

GCD

      gcd(a, b): greatest integer divides both a and b
      If b|a then gcd(a,b) = b
      Otherwise a = bt+r for some t and r
          gcd(a,b) = gcd(b,r)
          gcd(a,b) = gcd(b,a%b)
      lcm(a,b) = (a*b)/gcd(a,b)




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

GCD

      gcd(a, b): greatest integer divides both a and b
      If b|a then gcd(a,b) = b
      Otherwise a = bt+r for some t and r
          gcd(a,b) = gcd(b,r)
          gcd(a,b) = gcd(b,a%b)
      lcm(a,b) = (a*b)/gcd(a,b)
      Running time: O (log (a + b))




                 League of Programmers    Maths
Maths
                           Probability
                            Problems

GCD


 Recursive Implementation:
 int gcd(int a, int b) {
   if (b==0)
     return a;
   else
     return gcd(b,a%b);
 }




                League of Programmers    Maths
Maths
                            Probability
                             Problems

GCD

 Iterative Implementation:
 int gcd(int a, int b) {
   while(b) {
     int r = a % b;
     a = b;
     b = r;
   }
   return a;
 }




                 League of Programmers    Maths
Maths
                          Probability
                           Problems

Modular Exponentiation


     Compute an in O(log n) time




               League of Programmers    Maths
Maths
                             Probability
                              Problems

Modular Exponentiation


     Compute an in O(log n) time
     an = 1, if n=0
        = a if n=1
                 2
        = a(n/ ) , if 2n =even
              2


        = a((n− )/ ) , if n = odd
                  1   2




                  League of Programmers    Maths
Maths
                            Probability
                             Problems

Modular Exponentiation


  Recursive Implementation:
  double pow(double a, int n) {
    if(n == 0) return 1;
    if(n == 1) return a;
    double t = pow(a, n/2);
    return t * t * pow(a, n%2);
  }




                 League of Programmers    Maths
Maths
                              Probability
                               Problems

Modular Exponentiation

  Iterative Implementation:
  a = a + a ∗ 2 + a ∗ 2 + ... + ak ∗ 2k
       0    1       2
                          2


  int result=1,power=a;
  while(!n) {
    if(n&1)
      result*=power;
    power*=power;
    n=1;
  }




                 League of Programmers      Maths
Maths
                       Probability
                        Problems

Fibonacci




            League of Programmers    Maths
Maths
                            Probability
                             Problems

Fibonacci


      Fn = Fn− + Fn−
             1          2




                 League of Programmers    Maths
Maths
                                 Probability
                                  Problems

Fibonacci


      Fn = Fn− + Fn−
                1          2

        F               F       −1
       F −1 = [ 1 0 ] ∗ F
            n   1 1         n

        n                   n   −2




                    League of Programmers      Maths
Maths
                                Probability
                                 Problems

Fibonacci


      Fn = Fn− + Fn−
                1          2

        F               F −1
       F −1 = [ 1 0 ] ∗ F −2
            n   1 1         n

        n                   n


        F       1 1 n    F1
       F −1 = [ 1 0 ] ∗ F0
            n

        n




                    League of Programmers     Maths
Maths
                                Probability
                                 Problems

Fibonacci


      Fn = Fn− + Fn−
                1          2

        F               F −1
       F −1 = [ 1 0 ] ∗ F −2
            n   1 1         n

        n                   n


        F       1 1 n    F1
       F −1 = [ 1 0 ] ∗ F0
            n

        n


      Compute the product in O(lg n) time




                    League of Programmers     Maths
Maths
                                Probability
                                 Problems

Fibonacci


      Fn = Fn− + Fn−
                1          2

        F               F −1
       F −1 = [ 1 0 ] ∗ F −2
            n   1 1         n

        n                   n


        F       1 1 n    F1
       F −1 = [ 1 0 ] ∗ F0
            n

        n


      Compute the product in O(lg n) time
      Can be extended to support any linear recurrence with
      constant coecients




                    League of Programmers     Maths
Maths
                         Probability
                          Problems

Binomial Coecients




              League of Programmers    Maths
Maths
                           Probability
                            Problems

Binomial Coecients
      n   = Number of ways to choose k objects out of n
      k
     distinguishable objects




                League of Programmers    Maths
Maths
                           Probability
                            Problems

Binomial Coecients
      n   = Number of ways to choose k objects out of n
      k
     distinguishable objects
     Computing k  n




                League of Programmers    Maths
Maths
                                Probability
                                 Problems

Binomial Coecients
      n   = Number of ways to choose k objects out of n
      k
     distinguishable objects
     Computing k  n
          1   Compute using the following formula
                                  k =
                                  n     n(n−1)...(n−k +1)
                                               k!




                     League of Programmers    Maths
Maths
                                Probability
                                 Problems

Binomial Coecients
      n   = Number of ways to choose k objects out of n
      k
     distinguishable objects
     Computing k  n
          1   Compute using the following formula
                                    k =
                                    n   n(n−1)...(n−k +1)
                                               k!
          2   Use Pascal's triangle




                     League of Programmers    Maths
Maths
                                Probability
                                 Problems

Binomial Coecients
      n   = Number of ways to choose k objects out of n
      k
     distinguishable objects
     Computing k  n
          1   Compute using the following formula
                                    k =
                                    n   n(n−1)...(n−k +1)
                                               k!
          2   Use Pascal's triangle
     Cases:




                     League of Programmers    Maths
Maths
                                Probability
                                 Problems

Binomial Coecients
      n   = Number of ways to choose k objects out of n
      k
     distinguishable objects
     Computing k  n
          1   Compute using the following formula
                                    k =
                                    n   n(n−1)...(n−k +1)
                                               k!
          2   Use Pascal's triangle
     Cases:
          1   Both n and k are small
              Use either solution


                     League of Programmers    Maths
Maths
                                Probability
                                 Problems

Binomial Coecients
      n   = Number of ways to choose k objects out of n
      k
     distinguishable objects
     Computing k  n
          1   Compute using the following formula
                                    k =
                                    n   n(n−1)...(n−k +1)
                                               k!
          2   Use Pascal's triangle
     Cases:
          1   Both n and k are small
              Use either solution
          2   n is big, but k or n-k is small
              Use Solution 1 (carefully)

                     League of Programmers    Maths
Maths
                           Probability
                            Problems

Lucas Theorem




                League of Programmers    Maths
Maths
                           Probability
                            Problems

Lucas Theorem
     The Lucas' theorem expresses the remainder of division of the
     binomial coecient m by a prime number p in terms of the
                          n
     base p expansions of the integers m and n.




                League of Programmers    Maths
Maths
                              Probability
                               Problems

Lucas Theorem
     The Lucas' theorem expresses the remainder of division of the
     binomial coecient m by a prime number p in terms of the
                          n
     base p expansions of the integers m and n.
     For non-negative integers m and n and a prime p, the following
     congruence relation holds:
                              m =           k    m
                                            i =0 n (modp )
                                                   i

                              n                    i



     where
     m = mk p k + mk − p k − + · · · + m p + m
                          1
                                   1
                                                       1       0

     and
     n = nk p k + nk − p k − + · · · + n p + n
                      1
                               1
                                               1           0

     are base p expansions of m and n respectively.


                League of Programmers         Maths
Maths
                             Probability
                              Problems

Problem

  Problem 1
  Find the number of strings of length N made up of only 3
  characters - a, b, c such that a occurs at least min_a times
  and at most max_a times, b occurs at least min_b times
  and at most max_b times and c occurs at least min_c
  times and at most max_c times. Note that all permutations of
  same string count as 1, so abc is same as bac.
  http://www.spoj.pl/problems/DCEPC702/




                  League of Programmers    Maths
Maths
                             Probability
                              Problems

Problem
  Problem 2
  The main idea is to nd a geometrical interpretation for the
  problem in which we should calculate the number of paths of a
  special type. More precisely, if we have two points A, B on a plane
  with integer coordinates, then we will operate only with the
  shortest paths between A and B that pass only through the lines of
  the integer grid and that can be done only in horizontal or vertical
  movements with length equal to 1.




                                    Figure: 1
                  League of Programmers    Maths
Maths
                            Probability
                             Problems

Problem


  Solution
  Solution: All paths between A and B have the same length equal to
  n+m (where n is the dierence between x-coordinates and m is the
  dierence between y-coordinates). We can easily calculate the
  number of all the paths between A and B:
    Ans: mn n or mm n
            +         +




                 League of Programmers    Maths
Maths
                             Probability
                              Problems

Problem
  Problem 3
  Let's solve a famous problem using this method. The goal is to nd
  the number of Dyck words with a length of 2n. What is a Dyck
  word? It's a string consisting only of n X's and n Y's, and matching
  this criteria: each prex of this string has more X's than Y's. For
  example, XXYY and XYXY are Dyck words, but XYYX and
  YYXX are not.

                                           OR


  Find the number of ways to arrange n '(' and n ')' brackets such
  that at each index, the number of '(' is never less than the number
  of ')'

                  League of Programmers         Maths
Maths
                               Probability
                                Problems

Problem


  Solution
  Solution: Total ways: nn 2



         Incorrect ways: n−n   2
                                   1

  Ans: Catalan number n+   1        n
                                    2
                               1    n




                  League of Programmers      Maths
Maths
                         Probability
                          Problems

Modular Arithmetic




              League of Programmers    Maths
Maths
                          Probability
                           Problems

Modular Arithmetic


     (x+y) mod n = ((x mod n) + (y mod n))mod n




               League of Programmers    Maths
Maths
                          Probability
                           Problems

Modular Arithmetic


     (x+y) mod n = ((x mod n) + (y mod n))mod n
     (x-y) mod n = ((x mod n) - (y mod n))mod n




               League of Programmers    Maths
Maths
                          Probability
                           Problems

Modular Arithmetic


     (x+y) mod n = ((x mod n) + (y mod n))mod n
     (x-y) mod n = ((x mod n) - (y mod n))mod n
     (x*y) mod n = (x mod n)*(y mod n)mod n




               League of Programmers    Maths
Maths
                          Probability
                           Problems

Modular Arithmetic


     (x+y) mod n = ((x mod n) + (y mod n))mod n
     (x-y) mod n = ((x mod n) - (y mod n))mod n
     (x*y) mod n = (x mod n)*(y mod n)mod n
     But, (x/y) mod n = ((x mod n)/(y mod n))mod n, not always
     true




               League of Programmers    Maths
Maths
                          Probability
                           Problems

Modular Arithmetic


     (x+y) mod n = ((x mod n) + (y mod n))mod n
     (x-y) mod n = ((x mod n) - (y mod n))mod n
     (x*y) mod n = (x mod n)*(y mod n)mod n
     But, (x/y) mod n = ((x mod n)/(y mod n))mod n, not always
     true
     x y mod n = (xmodn)y mod n




               League of Programmers    Maths
Maths
                           Probability
                            Problems

Multiplicative Inverse




                League of Programmers    Maths
Maths
                            Probability
                             Problems

Multiplicative Inverse

      x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn)
         1                                        1




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

Multiplicative Inverse

      x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn)
         1                                        1



      5− ≡ 3(mod 7) because 5 ∗ 3 ≡ 15 ≡ 1(mod 7)
        1




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

Multiplicative Inverse

      x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn)
         1                                        1



      5− ≡ 3(mod 7) because 5 ∗ 3 ≡ 15 ≡ 1(mod 7)
        1



      May not exist (e.g. Inverse of 2 mod 4)




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

Multiplicative Inverse

      x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn)
         1                                        1



      5− ≡ 3(mod 7) because 5 ∗ 3 ≡ 15 ≡ 1(mod 7)
        1



      May not exist (e.g. Inverse of 2 mod 4)
      Exists i gcd(x,n) = 1




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

Multiplicative Inverse

      x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn)
         1                                        1



      5− ≡ 3(mod 7) because 5 ∗ 3 ≡ 15 ≡ 1(mod 7)
        1



      May not exist (e.g. Inverse of 2 mod 4)
      Exists i gcd(x,n) = 1
      gcd(a,b)=ax+by for some integers x, y




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

Multiplicative Inverse

      x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn)
         1                                        1



      5− ≡ 3(mod 7) because 5 ∗ 3 ≡ 15 ≡ 1(mod 7)
        1



      May not exist (e.g. Inverse of 2 mod 4)
      Exists i gcd(x,n) = 1
      gcd(a,b)=ax+by for some integers x, y
      If gcd(a,n)=1, then ax + ny = 1 for some x, y




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

Multiplicative Inverse

      x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn)
         1                                        1



      5− ≡ 3(mod 7) because 5 ∗ 3 ≡ 15 ≡ 1(mod 7)
        1



      May not exist (e.g. Inverse of 2 mod 4)
      Exists i gcd(x,n) = 1
      gcd(a,b)=ax+by for some integers x, y
      If gcd(a,n)=1, then ax + ny = 1 for some x, y
      Taking modulo n gives ax ≡ 1(modn)




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

Multiplicative Inverse

      x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn)
         1                                        1



      5− ≡ 3(mod 7) because 5 ∗ 3 ≡ 15 ≡ 1(mod 7)
        1



      May not exist (e.g. Inverse of 2 mod 4)
      Exists i gcd(x,n) = 1
      gcd(a,b)=ax+by for some integers x, y
      If gcd(a,n)=1, then ax + ny = 1 for some x, y
      Taking modulo n gives ax ≡ 1(modn)
      Given a,b, Finding x and y, such that ax+by = d is done by
      Extended Euclid's algorithm




                 League of Programmers    Maths
Maths
                         Probability
                          Problems

Prime Seive




              League of Programmers    Maths
Maths
                            Probability
                             Problems

Prime Seive


                                                               √
      Idea: every composite number n has a prime factor p ≤ n.
      So let us assume that all numbers are prime. But if we come
      across a prime factor of a number, we immediately know that
      it is not a prime. If there is no prime factor of a number n in
      the range [2 . . . n-1] then it must be prime.




                 League of Programmers    Maths
Maths
                              Probability
                               Problems

Prime Seive

  Implementation
  Generate all primes in range [1..n]

  For i=1 to n
    prime[i]=1
  Prime[1]=0 √
  For i=2 to n
    if(prime[i])
      for j = i to n/i
        prime[i*j]=0
  At the end of this step, all numbers i which are prime
  have prime[i]=1. Others have prime[i]=0.



                   League of Programmers    Maths
Maths
                       Probability
                        Problems

Prime Number Theorem




            League of Programmers    Maths
Maths
                           Probability
                            Problems

Prime Number Theorem



     Prime number Theorem
     Number of primes till n ∼ n/logn




                League of Programmers    Maths
Maths
                          Probability
                           Problems

Prime Number Theorem



     Prime number Theorem
     Number of primes till n ∼ n/logn
     Maximum number of prime factors of n = log n




               League of Programmers    Maths
Maths
                          Probability
                           Problems

Euler Torient Function




               League of Programmers    Maths
Maths
                            Probability
                             Problems

Euler Torient Function

      φ(n) = Number of positive integers less than or equal to n
      which are coprime to n




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

Euler Torient Function

      φ(n) = Number of positive integers less than or equal to n
      which are coprime to n
      φ(ab) = φ(a) ∗ φ(b)




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

Euler Torient Function

      φ(n) = Number of positive integers less than or equal to n
      which are coprime to n
      φ(ab) = φ(a) ∗ φ(b)
          For a prime p, φ(p) = p − 1




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

Euler Torient Function

      φ(n) = Number of positive integers less than or equal to n
      which are coprime to n
      φ(ab) = φ(a) ∗ φ(b)
          For a prime p, φ(p) = p − 1
          For a prime p, φ(pk ) = pk − pk −1 = pk (1 − p )
                                                       1




                 League of Programmers    Maths
Maths
                               Probability
                                Problems

Euler Torient Function

      φ(n) = Number of positive integers less than or equal to n
      which are coprime to n
      φ(ab) = φ(a) ∗ φ(b)
           For a prime p, φ(p) = p − 1
           For a prime p, φ(pk ) = pk − pk −1 = pk (1 − p )
                                                        1


      N = (p k1 ) ∗ (p k2 ) ∗ ... ∗ (pt )
              1         2
                                      k      t




                    League of Programmers        Maths
Maths
                               Probability
                                Problems

Euler Torient Function

      φ(n) = Number of positive integers less than or equal to n
      which are coprime to n
      φ(ab) = φ(a) ∗ φ(b)
           For a prime p, φ(p) = p − 1
           For a prime p, φ(pk ) = pk − pk −1 = pk (1 − p )
                                                        1


      N = (p k1 ) ∗ (p k2 ) ∗ ... ∗ (pt )
                                      k      t




                                                 1              1                  1 − p1 )
              1         2
                     a a       a                         1                 1
           φ(n) =   p11 p22 ..pt t ) =   n∗( −           p1 ) ∗ ( − p2 ) ∗ · · · ∗ (    t
                         a a        a                (p1 −1)∗(p2 −1)..(pt −1)
           ≡ φ(n)   = p11 p22 ..pt t )   =n∗                 (p1 p2 ..pt )




                    League of Programmers        Maths
Maths
                              Probability
                               Problems

Euler Torient Function

  Seive for φ(n)




                   League of Programmers    Maths
Maths
                             Probability
                              Problems

Euler Torient Function

  Seive for φ(n)
       Run prime sieve once and store result in primes[1..n]




                  League of Programmers    Maths
Maths
                             Probability
                              Problems

Euler Torient Function

  Seive for φ(n)
       Run prime sieve once and store result in primes[1..n]
      for(i=1 to n) phi[i]=i
      for(i=2 to n)
        if(prime[i])
          for(j=1 to n/i)
            phi[i*j]=phi[i*j]*(i-1)/i




                  League of Programmers    Maths
Maths
                             Probability
                              Problems

Euler Torient Function

  Seive for φ(n)
       Run prime sieve once and store result in primes[1..n]
      for(i=1 to n) phi[i]=i
      for(i=2 to n)
        if(prime[i])
          for(j=1 to n/i)
            phi[i*j]=phi[i*j]*(i-1)/i
      This algo runs in O(n log log n) time, but we will make
      improvements to show how you can at times optimize your
      code.


                  League of Programmers    Maths
Maths
                              Probability
                               Problems

Euler Torient Function

  Seive for φ(n)




                   League of Programmers    Maths
Maths
                             Probability
                              Problems

Euler Torient Function

  Seive for φ(n)
       Question: Do we really need to generate list of all primes?




                  League of Programmers    Maths
Maths
                             Probability
                              Problems

Euler Torient Function

  Seive for φ(n)
       Question: Do we really need to generate list of all primes?
       Answer : No




                  League of Programmers    Maths
Maths
                             Probability
                              Problems

Euler Torient Function

  Seive for φ(n)
       Question: Do we really need to generate list of all primes?
       Answer : No
      for(i=1 to n) phi[i]=i
      for(i=2 to n)
        if(phi[i]==i)
          for(j=i to n;j+=i)
            phi[j] = (phi[j]/i)*(i-1);




                  League of Programmers    Maths
Maths
                         Probability
                          Problems

Fermat's Little Theorem




              League of Programmers    Maths
Maths
                            Probability
                             Problems

Fermat's Little Theorem


      If p is a prime number, then for any integer a that is coprime
      to n, we have ap ≡ a(modp )




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

Fermat's Little Theorem


      If p is a prime number, then for any integer a that is coprime
      to n, we have ap ≡ a(modp )
      This theorem can also be stated as: If p is a prime number
      and a is coprime to p, then ap− ≡ 1(modp )
                                          1




                 League of Programmers    Maths
Maths
                         Probability
                          Problems

Euler's Theorem




              League of Programmers    Maths
Maths
                           Probability
                            Problems

Euler's Theorem


     Euler's Theorem is a genaralization for Fermat's little theorem
     when a and n are co-prime




                League of Programmers    Maths
Maths
                           Probability
                            Problems

Euler's Theorem


     Euler's Theorem is a genaralization for Fermat's little theorem
     when a and n are co-prime
     If x ≡ y (mod φ(n)), then ax ≡ ay (modn).




                League of Programmers    Maths
Maths
                           Probability
                            Problems

Euler's Theorem


     Euler's Theorem is a genaralization for Fermat's little theorem
     when a and n are co-prime
     If x ≡ y (mod φ(n)), then ax ≡ ay (modn).
     aφ(n) ≡ 1(modn) (actual theorem is a generalization of the
     above)




                League of Programmers    Maths
Maths
                                    Probability
                                     Problems

Other results


  If n = p a1 ∗ p a2 ∗ ... ∗ pt , then
              1   2
                              a t




       The number of its positive divisors equals
       (a + 1) ∗ (a + 1) ∗ ... ∗ (at + 1)
          1            2




                      League of Programmers       Maths
Maths
                                          Probability
                                           Problems

Other results


  If n = p a1 ∗ p a2 ∗ ... ∗ pt , then
              1    2
                              a       t




       The number of its positive divisors equals
       (a + 1) ∗ (a + 1) ∗ ... ∗ (at + 1)
          1             2


       Sum of the divisors of n equals
                                 +1
                       t p
                            m
                             i
                               −1
          d |n =
                            i
                       i =1 p −1i




                       League of Programmers            Maths
Maths
                             Probability
                              Problems

Miller-Rabin Test (Primality Testing)
  Input: n  1, an odd integer to test for primality.
  write n-1 as 2s d by factoring powers of 2 from n-1
  repeat for all : a ∈ [2,n-2]
     If ad = 1 mod n and a .d = −1 mod n for all r ∈ [0, s 1]
                               r
                             2


     then return composite
  Return prime




                  League of Programmers    Maths
Maths
                             Probability
                              Problems

Miller-Rabin Test (Primality Testing)
  Input: n  1, an odd integer to test for primality.
  write n-1 as 2s d by factoring powers of 2 from n-1
  repeat for all : a ∈ [2,n-2]
     If ad = 1 mod n and a .d = −1 mod n for all r ∈ [0, s 1]
                               r
                             2


     then return composite
  Return prime




                  League of Programmers    Maths
Maths
                             Probability
                              Problems

Miller-Rabin Test (Primality Testing)
  Input: n  1, an odd integer to test for primality.
  write n-1 as 2s d by factoring powers of 2 from n-1
  repeat for all : a ∈ [2,n-2]
     If ad = 1 mod n and a .d = −1 mod n for all r ∈ [0, s 1]
                               r
                             2


     then return composite
  Return prime

      if n  9,080,191, it is enough to test a = 31 and 73;




                  League of Programmers    Maths
Maths
                             Probability
                              Problems

Miller-Rabin Test (Primality Testing)
  Input: n  1, an odd integer to test for primality.
  write n-1 as 2s d by factoring powers of 2 from n-1
  repeat for all : a ∈ [2,n-2]
     If ad = 1 mod n and a .d = −1 mod n for all r ∈ [0, s 1]
                               r
                             2


     then return composite
  Return prime

      if n  9,080,191, it is enough to test a = 31 and 73;
      if n  4,759,123,141, it is enough to test a = 2, 7, and 61;




                  League of Programmers    Maths
Maths
                             Probability
                              Problems

Miller-Rabin Test (Primality Testing)
  Input: n  1, an odd integer to test for primality.
  write n-1 as 2s d by factoring powers of 2 from n-1
  repeat for all : a ∈ [2,n-2]
     If ad = 1 mod n and a .d = −1 mod n for all r ∈ [0, s 1]
                               r
                             2


     then return composite
  Return prime

      if n  9,080,191, it is enough to test a = 31 and 73;
      if n  4,759,123,141, it is enough to test a = 2, 7, and 61;
      if n  2,152,302,898,747, it is enough to test a = 2, 3, 5, 7, and 11;



                  League of Programmers    Maths
Maths
                             Probability
                              Problems

Miller-Rabin Test (Primality Testing)
  Input: n  1, an odd integer to test for primality.
  write n-1 as 2s d by factoring powers of 2 from n-1
  repeat for all : a ∈ [2,n-2]
     If ad = 1 mod n and a .d = −1 mod n for all r ∈ [0, s 1]
                               r
                             2


     then return composite
  Return prime

      if n  9,080,191, it is enough to test a = 31 and 73;
      if n  4,759,123,141, it is enough to test a = 2, 7, and 61;
      if n  2,152,302,898,747, it is enough to test a = 2, 3, 5, 7, and 11;
      if n  3,474,749,660,383, it is enough to test a = 2, 3, 5, 7, 11,
      and 13;

                  League of Programmers    Maths
Maths
                             Probability
                              Problems

Miller-Rabin Test (Primality Testing)
  Input: n  1, an odd integer to test for primality.
  write n-1 as 2s d by factoring powers of 2 from n-1
  repeat for all : a ∈ [2,n-2]
     If ad = 1 mod n and a .d = −1 mod n for all r ∈ [0, s 1]
                               r
                             2


     then return composite
  Return prime

      if n  9,080,191, it is enough to test a = 31 and 73;
      if n  4,759,123,141, it is enough to test a = 2, 7, and 61;
      if n  2,152,302,898,747, it is enough to test a = 2, 3, 5, 7, and 11;
      if n  3,474,749,660,383, it is enough to test a = 2, 3, 5, 7, 11,
      and 13;
      if n  341,550,071,728,321, it is enough to test a = 2, 3, 5, 7, 11,
      13, and 17.
                  League of Programmers    Maths
Maths
                               Probability
                                Problems

Outline


  1   Maths


  2   Probability


  3   Problems




                    League of Programmers    Maths
Maths
                         Probability
                          Problems

Mathematical Expectation




              League of Programmers    Maths
Maths
                            Probability
                             Problems

Mathematical Expectation

     For a discrete variable X with probability function P(X), the
     expected value E[X] is given by i xi ∗ P (xi ) the summation
     runs over all the distinct values xi that the variable can take.




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

Mathematical Expectation

     For a discrete variable X with probability function P(X), the
     expected value E[X] is given by i xi ∗ P (xi ) the summation
     runs over all the distinct values xi that the variable can take.
     The rule of linearity of of the expectation says that
     E[x1+x2] = E[x1] + E[x2].




                 League of Programmers    Maths
Maths
                            Probability
                             Problems

Mathematical Expectation

     For a discrete variable X with probability function P(X), the
     expected value E[X] is given by i xi ∗ P (xi ) the summation
     runs over all the distinct values xi that the variable can take.
     The rule of linearity of of the expectation says that
     E[x1+x2] = E[x1] + E[x2].
     It is important to understand that expected value is not
     same as most probable value - rather, it need not even be
     one of the probable values.




                 League of Programmers    Maths
Maths
                         Probability
                          Problems

Mathematical Expectation
  Example




              League of Programmers    Maths
Maths
                             Probability
                              Problems

Mathematical Expectation
  Example
      For a six-sided die, the expected number of throws to get each
      face at least once?




                  League of Programmers    Maths
Maths
                             Probability
                              Problems

Mathematical Expectation
  Example
      For a six-sided die, the expected number of throws to get each
      face at least once?
      It's (6/6)+(6/5)+(6/4)+(6/3)+(6/2)+(6/1) = 14.7.




                  League of Programmers    Maths
Maths
                             Probability
                              Problems

Mathematical Expectation
  Example
      For a six-sided die, the expected number of throws to get each
      face at least once?
      It's (6/6)+(6/5)+(6/4)+(6/3)+(6/2)+(6/1) = 14.7.
      Logic: The chance of rolling a number you haven't yet rolled
      when you start o is 1, as any number would work. Once
      you've rolled this number, your chance of rolling a number you
      haven't yet rolled is 5/6. Continuing in this manner, after
      you've rolled n dierent numbers the chance of rolling one you
      haven't yet rolled is (6-n)/6.




                  League of Programmers    Maths
Maths
                             Probability
                              Problems

Mathematical Expectation
  Example
      For a six-sided die, the expected number of throws to get each
      face at least once?
      It's (6/6)+(6/5)+(6/4)+(6/3)+(6/2)+(6/1) = 14.7.
      Logic: The chance of rolling a number you haven't yet rolled
      when you start o is 1, as any number would work. Once
      you've rolled this number, your chance of rolling a number you
      haven't yet rolled is 5/6. Continuing in this manner, after
      you've rolled n dierent numbers the chance of rolling one you
      haven't yet rolled is (6-n)/6.
      For an n-sided die the expected throws is (n/n) + (n/(n-1)) +
      (n/(n-2)) + ... + n.

                  League of Programmers    Maths
Maths
                         Probability
                          Problems

Other Things to Read




              League of Programmers    Maths
Maths
                           Probability
                            Problems

Other Things to Read
     Extended Euclid's algo




                League of Programmers    Maths
Maths
                           Probability
                            Problems

Other Things to Read
     Extended Euclid's algo
     Chinese remaindering




                League of Programmers    Maths
Maths
                           Probability
                            Problems

Other Things to Read
     Extended Euclid's algo
     Chinese remaindering
     Farey's sequence




                League of Programmers    Maths
Maths
                           Probability
                            Problems

Other Things to Read
     Extended Euclid's algo
     Chinese remaindering
     Farey's sequence
     Optimised Sieve, Sieve of Atkins




                League of Programmers    Maths
Maths
                          Probability
                           Problems

Other Things to Read
     Extended Euclid's algo
     Chinese remaindering
     Farey's sequence
     Optimised Sieve, Sieve of Atkins
     How to solve Diophantine Equation




               League of Programmers    Maths
Maths
                          Probability
                           Problems

Other Things to Read
     Extended Euclid's algo
     Chinese remaindering
     Farey's sequence
     Optimised Sieve, Sieve of Atkins
     How to solve Diophantine Equation
     Pollard Rho factorization




               League of Programmers    Maths
Maths
                          Probability
                           Problems

Other Things to Read
     Extended Euclid's algo
     Chinese remaindering
     Farey's sequence
     Optimised Sieve, Sieve of Atkins
     How to solve Diophantine Equation
     Pollard Rho factorization
     Stirling numbers




               League of Programmers    Maths
Maths
                          Probability
                           Problems

Other Things to Read
     Extended Euclid's algo
     Chinese remaindering
     Farey's sequence
     Optimised Sieve, Sieve of Atkins
     How to solve Diophantine Equation
     Pollard Rho factorization
     Stirling numbers
     Inclusion-exclusion




               League of Programmers    Maths
Maths
                           Probability
                            Problems

Other Things to Read
     Extended Euclid's algo
     Chinese remaindering
     Farey's sequence
     Optimised Sieve, Sieve of Atkins
     How to solve Diophantine Equation
     Pollard Rho factorization
     Stirling numbers
     Inclusion-exclusion
     Gaussean Elimination (Find the determinant of a matrix)



                League of Programmers    Maths
Maths
                           Probability
                            Problems

Other Things to Read
     Extended Euclid's algo
     Chinese remaindering
     Farey's sequence
     Optimised Sieve, Sieve of Atkins
     How to solve Diophantine Equation
     Pollard Rho factorization
     Stirling numbers
     Inclusion-exclusion
     Gaussean Elimination (Find the determinant of a matrix)
     Group Theory


                League of Programmers    Maths
Maths
                               Probability
                                Problems

Outline


  1   Maths


  2   Probability


  3   Problems




                    League of Programmers    Maths
Maths
                            Probability
                             Problems

Problems
  Links:
    1   http://www.spoj.pl/problems/MAIN111/
    2   http://www.spoj.pl/problems/NDIVPHI/
    3   http://www.spoj.pl/problems/CUBEFR/
    4   http://www.spoj.pl/problems/NOSQ/
    5   http://www.spoj.pl/problems/UCI2009B/
    6   http://www.spoj.pl/problems/SEQ6/
    7   http://www.spoj.pl/problems/HAMSTER1/
    8   http://www.spoj.pl/problems/MAIN74/
    9   http://www.spoj.pl/problems/TUTMRBL/
   10   http://www.spoj.pl/problems/FACT0/
   11   http://www.spoj.pl/problems/GCD3/
   12   http://www.spoj.pl/problems/CRYPTON/
   13   http://www.spoj.pl/problems/MAIN12B/
   14   http://www.spoj.pl/problems/PLYGRND/
                 League of Programmers    Maths
Maths
                           Probability
                            Problems

Problems


  Added on the contest on VOC http://ahmed-aly.com/voc/
  Contest ID: 2633
  Name: ACA, IITK LOP 04
  Author: pnkjjindal




                League of Programmers    Maths

More Related Content

What's hot

Kernelization algorithms for graph and other structure modification problems
Kernelization algorithms for graph and other structure modification problemsKernelization algorithms for graph and other structure modification problems
Kernelization algorithms for graph and other structure modification problemsAnthony Perez
 
Lecture 8 dynamic programming
Lecture 8 dynamic programmingLecture 8 dynamic programming
Lecture 8 dynamic programmingOye Tu
 
Social Network Analysis
Social Network AnalysisSocial Network Analysis
Social Network Analysisrik0
 
Matrix chain multiplication
Matrix chain multiplicationMatrix chain multiplication
Matrix chain multiplicationRespa Peter
 
Past year iit entrance mathematics problems
Past year iit entrance mathematics problemsPast year iit entrance mathematics problems
Past year iit entrance mathematics problemsAPEX INSTITUTE
 
Elliptic Curve Cryptography
Elliptic Curve CryptographyElliptic Curve Cryptography
Elliptic Curve CryptographyKelly Bresnahan
 
Dynamic Programming - Matrix Chain Multiplication
Dynamic Programming - Matrix Chain MultiplicationDynamic Programming - Matrix Chain Multiplication
Dynamic Programming - Matrix Chain MultiplicationPecha Inc.
 
M A T H E M A T I C S I I I J N T U M O D E L P A P E R{Www
M A T H E M A T I C S  I I I  J N T U  M O D E L  P A P E R{WwwM A T H E M A T I C S  I I I  J N T U  M O D E L  P A P E R{Www
M A T H E M A T I C S I I I J N T U M O D E L P A P E R{Wwwguest3f9c6b
 
Graph Kernels for Chemical Informatics
Graph Kernels for Chemical InformaticsGraph Kernels for Chemical Informatics
Graph Kernels for Chemical InformaticsMukund Raj
 
Data Security Using Elliptic Curve Cryptography
Data Security Using Elliptic Curve CryptographyData Security Using Elliptic Curve Cryptography
Data Security Using Elliptic Curve CryptographyIJCERT
 
Dynamic programming1
Dynamic programming1Dynamic programming1
Dynamic programming1debolina13
 

What's hot (20)

Gate-Cs 2006
Gate-Cs 2006Gate-Cs 2006
Gate-Cs 2006
 
Kernelization algorithms for graph and other structure modification problems
Kernelization algorithms for graph and other structure modification problemsKernelization algorithms for graph and other structure modification problems
Kernelization algorithms for graph and other structure modification problems
 
Lecture 8 dynamic programming
Lecture 8 dynamic programmingLecture 8 dynamic programming
Lecture 8 dynamic programming
 
1524 elliptic curve cryptography
1524 elliptic curve cryptography1524 elliptic curve cryptography
1524 elliptic curve cryptography
 
Social Network Analysis
Social Network AnalysisSocial Network Analysis
Social Network Analysis
 
Matrix chain multiplication
Matrix chain multiplicationMatrix chain multiplication
Matrix chain multiplication
 
NCCU CPDA Lecture 12 Attribute Based Encryption
NCCU CPDA Lecture 12 Attribute Based EncryptionNCCU CPDA Lecture 12 Attribute Based Encryption
NCCU CPDA Lecture 12 Attribute Based Encryption
 
Daa chapter 3
Daa chapter 3Daa chapter 3
Daa chapter 3
 
Past year iit entrance mathematics problems
Past year iit entrance mathematics problemsPast year iit entrance mathematics problems
Past year iit entrance mathematics problems
 
Elliptic Curve Cryptography
Elliptic Curve CryptographyElliptic Curve Cryptography
Elliptic Curve Cryptography
 
Dynamic Programming - Matrix Chain Multiplication
Dynamic Programming - Matrix Chain MultiplicationDynamic Programming - Matrix Chain Multiplication
Dynamic Programming - Matrix Chain Multiplication
 
M A T H E M A T I C S I I I J N T U M O D E L P A P E R{Www
M A T H E M A T I C S  I I I  J N T U  M O D E L  P A P E R{WwwM A T H E M A T I C S  I I I  J N T U  M O D E L  P A P E R{Www
M A T H E M A T I C S I I I J N T U M O D E L P A P E R{Www
 
Graph Kernels for Chemical Informatics
Graph Kernels for Chemical InformaticsGraph Kernels for Chemical Informatics
Graph Kernels for Chemical Informatics
 
Daa q.paper
Daa q.paperDaa q.paper
Daa q.paper
 
Elliptic curvecryptography Shane Almeida Saqib Awan Dan Palacio
Elliptic curvecryptography Shane Almeida Saqib Awan Dan PalacioElliptic curvecryptography Shane Almeida Saqib Awan Dan Palacio
Elliptic curvecryptography Shane Almeida Saqib Awan Dan Palacio
 
Cryptography
CryptographyCryptography
Cryptography
 
Data Security Using Elliptic Curve Cryptography
Data Security Using Elliptic Curve CryptographyData Security Using Elliptic Curve Cryptography
Data Security Using Elliptic Curve Cryptography
 
Fd25951958
Fd25951958Fd25951958
Fd25951958
 
Multigrid Methods
Multigrid MethodsMultigrid Methods
Multigrid Methods
 
Dynamic programming1
Dynamic programming1Dynamic programming1
Dynamic programming1
 

Viewers also liked

Viewers also liked (20)

Set theory
Set theory Set theory
Set theory
 
Baabtra.com little coder chapter - 7
Baabtra.com little coder   chapter - 7Baabtra.com little coder   chapter - 7
Baabtra.com little coder chapter - 7
 
Linux
Linux Linux
Linux
 
Analysis optimization and monitoring system
Analysis optimization and monitoring system Analysis optimization and monitoring system
Analysis optimization and monitoring system
 
Relations and functions
Relations and functionsRelations and functions
Relations and functions
 
All career chart
All career chartAll career chart
All career chart
 
C++ Programming
C++ ProgrammingC++ Programming
C++ Programming
 
A Simple Guide to Mathematics
A Simple Guide to MathematicsA Simple Guide to Mathematics
A Simple Guide to Mathematics
 
Set Theory In C++
Set Theory In C++Set Theory In C++
Set Theory In C++
 
Probability And Stats Intro
Probability And Stats IntroProbability And Stats Intro
Probability And Stats Intro
 
Testing, fixing, and proving with contracts
Testing, fixing, and proving with contractsTesting, fixing, and proving with contracts
Testing, fixing, and proving with contracts
 
Programming Logic for Any Programming Language - Session2
Programming Logic for Any Programming Language - Session2Programming Logic for Any Programming Language - Session2
Programming Logic for Any Programming Language - Session2
 
Introduction to Communication Systems 3
Introduction to Communication Systems 3Introduction to Communication Systems 3
Introduction to Communication Systems 3
 
Function in Maths presention by JASMER BHAN
Function in Maths presention by JASMER BHANFunction in Maths presention by JASMER BHAN
Function in Maths presention by JASMER BHAN
 
Apache ignite Datagrid
Apache ignite DatagridApache ignite Datagrid
Apache ignite Datagrid
 
Proportional counter
Proportional counterProportional counter
Proportional counter
 
Relations and Functions
Relations and FunctionsRelations and Functions
Relations and Functions
 
English grammar in Bangla
English grammar in BanglaEnglish grammar in Bangla
English grammar in Bangla
 
14075517 chapter 3_-_relation_and_function
14075517 chapter 3_-_relation_and_function14075517 chapter 3_-_relation_and_function
14075517 chapter 3_-_relation_and_function
 
Set Theory
Set TheorySet Theory
Set Theory
 

Similar to 04 maths

06.monotonicity Execise. Module-4pdf
06.monotonicity Execise. Module-4pdf06.monotonicity Execise. Module-4pdf
06.monotonicity Execise. Module-4pdfRajuSingh806014
 
Bt0063 mathematics fot it
Bt0063 mathematics fot itBt0063 mathematics fot it
Bt0063 mathematics fot itnimbalkarks
 
SYLLABUS_COMPLEX NUMBER.pdf
SYLLABUS_COMPLEX NUMBER.pdfSYLLABUS_COMPLEX NUMBER.pdf
SYLLABUS_COMPLEX NUMBER.pdfenggeng7
 
Last+minute+revision(+Final)+(1) (1).pptx
Last+minute+revision(+Final)+(1) (1).pptxLast+minute+revision(+Final)+(1) (1).pptx
Last+minute+revision(+Final)+(1) (1).pptxAryanMishra860130
 
SL Formulabooklet
SL FormulabookletSL Formulabooklet
SL Formulabookletnayaks3
 
Banco de preguntas para el ap
Banco de preguntas para el apBanco de preguntas para el ap
Banco de preguntas para el apMARCELOCHAVEZ23
 
Colour in Mathematics
Colour in Mathematics Colour in Mathematics
Colour in Mathematics Colleen Young
 
Cryptography and Network Security Principles and Practice.docx
Cryptography and Network Security Principles and Practice.docxCryptography and Network Security Principles and Practice.docx
Cryptography and Network Security Principles and Practice.docxAbhinav816839
 
09 p.t (straight line + circle) solution
09 p.t (straight line + circle) solution09 p.t (straight line + circle) solution
09 p.t (straight line + circle) solutionAnamikaRoy39
 
Advanced Trigonometry
Advanced TrigonometryAdvanced Trigonometry
Advanced Trigonometrytimschmitz
 
Add Maths Module
Add Maths ModuleAdd Maths Module
Add Maths Modulebspm
 
Class 18: Measuring Cost
Class 18: Measuring CostClass 18: Measuring Cost
Class 18: Measuring CostDavid Evans
 
Indefinite Integration One shot Revision
Indefinite Integration One shot Revision Indefinite Integration One shot Revision
Indefinite Integration One shot Revision CHANDHINIJAYARAMAN
 

Similar to 04 maths (20)

06.monotonicity Execise. Module-4pdf
06.monotonicity Execise. Module-4pdf06.monotonicity Execise. Module-4pdf
06.monotonicity Execise. Module-4pdf
 
Bt0063 mathematics fot it
Bt0063 mathematics fot itBt0063 mathematics fot it
Bt0063 mathematics fot it
 
SYLLABUS_COMPLEX NUMBER.pdf
SYLLABUS_COMPLEX NUMBER.pdfSYLLABUS_COMPLEX NUMBER.pdf
SYLLABUS_COMPLEX NUMBER.pdf
 
Ch04
Ch04Ch04
Ch04
 
Last+minute+revision(+Final)+(1) (1).pptx
Last+minute+revision(+Final)+(1) (1).pptxLast+minute+revision(+Final)+(1) (1).pptx
Last+minute+revision(+Final)+(1) (1).pptx
 
SL Formulabooklet
SL FormulabookletSL Formulabooklet
SL Formulabooklet
 
Banco de preguntas para el ap
Banco de preguntas para el apBanco de preguntas para el ap
Banco de preguntas para el ap
 
Colour in Mathematics
Colour in Mathematics Colour in Mathematics
Colour in Mathematics
 
Number theory lecture (part 1)
Number theory lecture (part 1)Number theory lecture (part 1)
Number theory lecture (part 1)
 
Indefinite Integrals QA 21
Indefinite Integrals QA 21Indefinite Integrals QA 21
Indefinite Integrals QA 21
 
Cryptography and Network Security Principles and Practice.docx
Cryptography and Network Security Principles and Practice.docxCryptography and Network Security Principles and Practice.docx
Cryptography and Network Security Principles and Practice.docx
 
Number theory lecture (part 2)
Number theory lecture (part 2)Number theory lecture (part 2)
Number theory lecture (part 2)
 
CH04.ppt
CH04.pptCH04.ppt
CH04.ppt
 
09 p.t (straight line + circle) solution
09 p.t (straight line + circle) solution09 p.t (straight line + circle) solution
09 p.t (straight line + circle) solution
 
Advanced Trigonometry
Advanced TrigonometryAdvanced Trigonometry
Advanced Trigonometry
 
16 fft
16 fft16 fft
16 fft
 
Add Maths Module
Add Maths ModuleAdd Maths Module
Add Maths Module
 
CP Lecture 1
CP Lecture 1CP Lecture 1
CP Lecture 1
 
Class 18: Measuring Cost
Class 18: Measuring CostClass 18: Measuring Cost
Class 18: Measuring Cost
 
Indefinite Integration One shot Revision
Indefinite Integration One shot Revision Indefinite Integration One shot Revision
Indefinite Integration One shot Revision
 

More from Pankaj Prateek

Advanced CPP Lecture 2- Summer School 2014 - ACA CSE IITK
Advanced CPP Lecture 2- Summer School 2014 - ACA CSE IITKAdvanced CPP Lecture 2- Summer School 2014 - ACA CSE IITK
Advanced CPP Lecture 2- Summer School 2014 - ACA CSE IITKPankaj Prateek
 
Advanced CPP Lecture 1- Summer School 2014 - ACA CSE IITK
Advanced CPP Lecture 1- Summer School 2014 - ACA CSE IITKAdvanced CPP Lecture 1- Summer School 2014 - ACA CSE IITK
Advanced CPP Lecture 1- Summer School 2014 - ACA CSE IITKPankaj Prateek
 
02 greedy, d&c, binary search
02 greedy, d&c, binary search02 greedy, d&c, binary search
02 greedy, d&c, binary searchPankaj Prateek
 

More from Pankaj Prateek (7)

Advanced CPP Lecture 2- Summer School 2014 - ACA CSE IITK
Advanced CPP Lecture 2- Summer School 2014 - ACA CSE IITKAdvanced CPP Lecture 2- Summer School 2014 - ACA CSE IITK
Advanced CPP Lecture 2- Summer School 2014 - ACA CSE IITK
 
Advanced CPP Lecture 1- Summer School 2014 - ACA CSE IITK
Advanced CPP Lecture 1- Summer School 2014 - ACA CSE IITKAdvanced CPP Lecture 1- Summer School 2014 - ACA CSE IITK
Advanced CPP Lecture 1- Summer School 2014 - ACA CSE IITK
 
05 graph
05 graph05 graph
05 graph
 
06 segment trees
06 segment trees06 segment trees
06 segment trees
 
03 dp
03 dp03 dp
03 dp
 
02 greedy, d&c, binary search
02 greedy, d&c, binary search02 greedy, d&c, binary search
02 greedy, d&c, binary search
 
01 basics and stl
01 basics and stl01 basics and stl
01 basics and stl
 

04 maths

  • 1. Maths Probability Problems Maths League of Programmers ACA, IIT Kanpur October 22, 2012 League of Programmers Maths
  • 2. Maths Probability Problems Outline 1 Maths 2 Probability 3 Problems League of Programmers Maths
  • 3. Maths Probability Problems GCD gcd(a, b): greatest integer divides both a and b League of Programmers Maths
  • 4. Maths Probability Problems GCD gcd(a, b): greatest integer divides both a and b If b|a then gcd(a,b) = b League of Programmers Maths
  • 5. Maths Probability Problems GCD gcd(a, b): greatest integer divides both a and b If b|a then gcd(a,b) = b Otherwise a = bt+r for some t and r League of Programmers Maths
  • 6. Maths Probability Problems GCD gcd(a, b): greatest integer divides both a and b If b|a then gcd(a,b) = b Otherwise a = bt+r for some t and r gcd(a,b) = gcd(b,r) League of Programmers Maths
  • 7. Maths Probability Problems GCD gcd(a, b): greatest integer divides both a and b If b|a then gcd(a,b) = b Otherwise a = bt+r for some t and r gcd(a,b) = gcd(b,r) gcd(a,b) = gcd(b,a%b) League of Programmers Maths
  • 8. Maths Probability Problems GCD gcd(a, b): greatest integer divides both a and b If b|a then gcd(a,b) = b Otherwise a = bt+r for some t and r gcd(a,b) = gcd(b,r) gcd(a,b) = gcd(b,a%b) lcm(a,b) = (a*b)/gcd(a,b) League of Programmers Maths
  • 9. Maths Probability Problems GCD gcd(a, b): greatest integer divides both a and b If b|a then gcd(a,b) = b Otherwise a = bt+r for some t and r gcd(a,b) = gcd(b,r) gcd(a,b) = gcd(b,a%b) lcm(a,b) = (a*b)/gcd(a,b) Running time: O (log (a + b)) League of Programmers Maths
  • 10. Maths Probability Problems GCD Recursive Implementation: int gcd(int a, int b) { if (b==0) return a; else return gcd(b,a%b); } League of Programmers Maths
  • 11. Maths Probability Problems GCD Iterative Implementation: int gcd(int a, int b) { while(b) { int r = a % b; a = b; b = r; } return a; } League of Programmers Maths
  • 12. Maths Probability Problems Modular Exponentiation Compute an in O(log n) time League of Programmers Maths
  • 13. Maths Probability Problems Modular Exponentiation Compute an in O(log n) time an = 1, if n=0 = a if n=1 2 = a(n/ ) , if 2n =even 2 = a((n− )/ ) , if n = odd 1 2 League of Programmers Maths
  • 14. Maths Probability Problems Modular Exponentiation Recursive Implementation: double pow(double a, int n) { if(n == 0) return 1; if(n == 1) return a; double t = pow(a, n/2); return t * t * pow(a, n%2); } League of Programmers Maths
  • 15. Maths Probability Problems Modular Exponentiation Iterative Implementation: a = a + a ∗ 2 + a ∗ 2 + ... + ak ∗ 2k 0 1 2 2 int result=1,power=a; while(!n) { if(n&1) result*=power; power*=power; n=1; } League of Programmers Maths
  • 16. Maths Probability Problems Fibonacci League of Programmers Maths
  • 17. Maths Probability Problems Fibonacci Fn = Fn− + Fn− 1 2 League of Programmers Maths
  • 18. Maths Probability Problems Fibonacci Fn = Fn− + Fn− 1 2 F F −1 F −1 = [ 1 0 ] ∗ F n 1 1 n n n −2 League of Programmers Maths
  • 19. Maths Probability Problems Fibonacci Fn = Fn− + Fn− 1 2 F F −1 F −1 = [ 1 0 ] ∗ F −2 n 1 1 n n n F 1 1 n F1 F −1 = [ 1 0 ] ∗ F0 n n League of Programmers Maths
  • 20. Maths Probability Problems Fibonacci Fn = Fn− + Fn− 1 2 F F −1 F −1 = [ 1 0 ] ∗ F −2 n 1 1 n n n F 1 1 n F1 F −1 = [ 1 0 ] ∗ F0 n n Compute the product in O(lg n) time League of Programmers Maths
  • 21. Maths Probability Problems Fibonacci Fn = Fn− + Fn− 1 2 F F −1 F −1 = [ 1 0 ] ∗ F −2 n 1 1 n n n F 1 1 n F1 F −1 = [ 1 0 ] ∗ F0 n n Compute the product in O(lg n) time Can be extended to support any linear recurrence with constant coecients League of Programmers Maths
  • 22. Maths Probability Problems Binomial Coecients League of Programmers Maths
  • 23. Maths Probability Problems Binomial Coecients n = Number of ways to choose k objects out of n k distinguishable objects League of Programmers Maths
  • 24. Maths Probability Problems Binomial Coecients n = Number of ways to choose k objects out of n k distinguishable objects Computing k n League of Programmers Maths
  • 25. Maths Probability Problems Binomial Coecients n = Number of ways to choose k objects out of n k distinguishable objects Computing k n 1 Compute using the following formula k = n n(n−1)...(n−k +1) k! League of Programmers Maths
  • 26. Maths Probability Problems Binomial Coecients n = Number of ways to choose k objects out of n k distinguishable objects Computing k n 1 Compute using the following formula k = n n(n−1)...(n−k +1) k! 2 Use Pascal's triangle League of Programmers Maths
  • 27. Maths Probability Problems Binomial Coecients n = Number of ways to choose k objects out of n k distinguishable objects Computing k n 1 Compute using the following formula k = n n(n−1)...(n−k +1) k! 2 Use Pascal's triangle Cases: League of Programmers Maths
  • 28. Maths Probability Problems Binomial Coecients n = Number of ways to choose k objects out of n k distinguishable objects Computing k n 1 Compute using the following formula k = n n(n−1)...(n−k +1) k! 2 Use Pascal's triangle Cases: 1 Both n and k are small Use either solution League of Programmers Maths
  • 29. Maths Probability Problems Binomial Coecients n = Number of ways to choose k objects out of n k distinguishable objects Computing k n 1 Compute using the following formula k = n n(n−1)...(n−k +1) k! 2 Use Pascal's triangle Cases: 1 Both n and k are small Use either solution 2 n is big, but k or n-k is small Use Solution 1 (carefully) League of Programmers Maths
  • 30. Maths Probability Problems Lucas Theorem League of Programmers Maths
  • 31. Maths Probability Problems Lucas Theorem The Lucas' theorem expresses the remainder of division of the binomial coecient m by a prime number p in terms of the n base p expansions of the integers m and n. League of Programmers Maths
  • 32. Maths Probability Problems Lucas Theorem The Lucas' theorem expresses the remainder of division of the binomial coecient m by a prime number p in terms of the n base p expansions of the integers m and n. For non-negative integers m and n and a prime p, the following congruence relation holds: m = k m i =0 n (modp ) i n i where m = mk p k + mk − p k − + · · · + m p + m 1 1 1 0 and n = nk p k + nk − p k − + · · · + n p + n 1 1 1 0 are base p expansions of m and n respectively. League of Programmers Maths
  • 33. Maths Probability Problems Problem Problem 1 Find the number of strings of length N made up of only 3 characters - a, b, c such that a occurs at least min_a times and at most max_a times, b occurs at least min_b times and at most max_b times and c occurs at least min_c times and at most max_c times. Note that all permutations of same string count as 1, so abc is same as bac. http://www.spoj.pl/problems/DCEPC702/ League of Programmers Maths
  • 34. Maths Probability Problems Problem Problem 2 The main idea is to nd a geometrical interpretation for the problem in which we should calculate the number of paths of a special type. More precisely, if we have two points A, B on a plane with integer coordinates, then we will operate only with the shortest paths between A and B that pass only through the lines of the integer grid and that can be done only in horizontal or vertical movements with length equal to 1. Figure: 1 League of Programmers Maths
  • 35. Maths Probability Problems Problem Solution Solution: All paths between A and B have the same length equal to n+m (where n is the dierence between x-coordinates and m is the dierence between y-coordinates). We can easily calculate the number of all the paths between A and B: Ans: mn n or mm n + + League of Programmers Maths
  • 36. Maths Probability Problems Problem Problem 3 Let's solve a famous problem using this method. The goal is to nd the number of Dyck words with a length of 2n. What is a Dyck word? It's a string consisting only of n X's and n Y's, and matching this criteria: each prex of this string has more X's than Y's. For example, XXYY and XYXY are Dyck words, but XYYX and YYXX are not. OR Find the number of ways to arrange n '(' and n ')' brackets such that at each index, the number of '(' is never less than the number of ')' League of Programmers Maths
  • 37. Maths Probability Problems Problem Solution Solution: Total ways: nn 2 Incorrect ways: n−n 2 1 Ans: Catalan number n+ 1 n 2 1 n League of Programmers Maths
  • 38. Maths Probability Problems Modular Arithmetic League of Programmers Maths
  • 39. Maths Probability Problems Modular Arithmetic (x+y) mod n = ((x mod n) + (y mod n))mod n League of Programmers Maths
  • 40. Maths Probability Problems Modular Arithmetic (x+y) mod n = ((x mod n) + (y mod n))mod n (x-y) mod n = ((x mod n) - (y mod n))mod n League of Programmers Maths
  • 41. Maths Probability Problems Modular Arithmetic (x+y) mod n = ((x mod n) + (y mod n))mod n (x-y) mod n = ((x mod n) - (y mod n))mod n (x*y) mod n = (x mod n)*(y mod n)mod n League of Programmers Maths
  • 42. Maths Probability Problems Modular Arithmetic (x+y) mod n = ((x mod n) + (y mod n))mod n (x-y) mod n = ((x mod n) - (y mod n))mod n (x*y) mod n = (x mod n)*(y mod n)mod n But, (x/y) mod n = ((x mod n)/(y mod n))mod n, not always true League of Programmers Maths
  • 43. Maths Probability Problems Modular Arithmetic (x+y) mod n = ((x mod n) + (y mod n))mod n (x-y) mod n = ((x mod n) - (y mod n))mod n (x*y) mod n = (x mod n)*(y mod n)mod n But, (x/y) mod n = ((x mod n)/(y mod n))mod n, not always true x y mod n = (xmodn)y mod n League of Programmers Maths
  • 44. Maths Probability Problems Multiplicative Inverse League of Programmers Maths
  • 45. Maths Probability Problems Multiplicative Inverse x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn) 1 1 League of Programmers Maths
  • 46. Maths Probability Problems Multiplicative Inverse x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn) 1 1 5− ≡ 3(mod 7) because 5 ∗ 3 ≡ 15 ≡ 1(mod 7) 1 League of Programmers Maths
  • 47. Maths Probability Problems Multiplicative Inverse x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn) 1 1 5− ≡ 3(mod 7) because 5 ∗ 3 ≡ 15 ≡ 1(mod 7) 1 May not exist (e.g. Inverse of 2 mod 4) League of Programmers Maths
  • 48. Maths Probability Problems Multiplicative Inverse x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn) 1 1 5− ≡ 3(mod 7) because 5 ∗ 3 ≡ 15 ≡ 1(mod 7) 1 May not exist (e.g. Inverse of 2 mod 4) Exists i gcd(x,n) = 1 League of Programmers Maths
  • 49. Maths Probability Problems Multiplicative Inverse x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn) 1 1 5− ≡ 3(mod 7) because 5 ∗ 3 ≡ 15 ≡ 1(mod 7) 1 May not exist (e.g. Inverse of 2 mod 4) Exists i gcd(x,n) = 1 gcd(a,b)=ax+by for some integers x, y League of Programmers Maths
  • 50. Maths Probability Problems Multiplicative Inverse x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn) 1 1 5− ≡ 3(mod 7) because 5 ∗ 3 ≡ 15 ≡ 1(mod 7) 1 May not exist (e.g. Inverse of 2 mod 4) Exists i gcd(x,n) = 1 gcd(a,b)=ax+by for some integers x, y If gcd(a,n)=1, then ax + ny = 1 for some x, y League of Programmers Maths
  • 51. Maths Probability Problems Multiplicative Inverse x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn) 1 1 5− ≡ 3(mod 7) because 5 ∗ 3 ≡ 15 ≡ 1(mod 7) 1 May not exist (e.g. Inverse of 2 mod 4) Exists i gcd(x,n) = 1 gcd(a,b)=ax+by for some integers x, y If gcd(a,n)=1, then ax + ny = 1 for some x, y Taking modulo n gives ax ≡ 1(modn) League of Programmers Maths
  • 52. Maths Probability Problems Multiplicative Inverse x − is the inverse of x modulo n if x ∗ x − ≡ 1(modn) 1 1 5− ≡ 3(mod 7) because 5 ∗ 3 ≡ 15 ≡ 1(mod 7) 1 May not exist (e.g. Inverse of 2 mod 4) Exists i gcd(x,n) = 1 gcd(a,b)=ax+by for some integers x, y If gcd(a,n)=1, then ax + ny = 1 for some x, y Taking modulo n gives ax ≡ 1(modn) Given a,b, Finding x and y, such that ax+by = d is done by Extended Euclid's algorithm League of Programmers Maths
  • 53. Maths Probability Problems Prime Seive League of Programmers Maths
  • 54. Maths Probability Problems Prime Seive √ Idea: every composite number n has a prime factor p ≤ n. So let us assume that all numbers are prime. But if we come across a prime factor of a number, we immediately know that it is not a prime. If there is no prime factor of a number n in the range [2 . . . n-1] then it must be prime. League of Programmers Maths
  • 55. Maths Probability Problems Prime Seive Implementation Generate all primes in range [1..n] For i=1 to n prime[i]=1 Prime[1]=0 √ For i=2 to n if(prime[i]) for j = i to n/i prime[i*j]=0 At the end of this step, all numbers i which are prime have prime[i]=1. Others have prime[i]=0. League of Programmers Maths
  • 56. Maths Probability Problems Prime Number Theorem League of Programmers Maths
  • 57. Maths Probability Problems Prime Number Theorem Prime number Theorem Number of primes till n ∼ n/logn League of Programmers Maths
  • 58. Maths Probability Problems Prime Number Theorem Prime number Theorem Number of primes till n ∼ n/logn Maximum number of prime factors of n = log n League of Programmers Maths
  • 59. Maths Probability Problems Euler Torient Function League of Programmers Maths
  • 60. Maths Probability Problems Euler Torient Function φ(n) = Number of positive integers less than or equal to n which are coprime to n League of Programmers Maths
  • 61. Maths Probability Problems Euler Torient Function φ(n) = Number of positive integers less than or equal to n which are coprime to n φ(ab) = φ(a) ∗ φ(b) League of Programmers Maths
  • 62. Maths Probability Problems Euler Torient Function φ(n) = Number of positive integers less than or equal to n which are coprime to n φ(ab) = φ(a) ∗ φ(b) For a prime p, φ(p) = p − 1 League of Programmers Maths
  • 63. Maths Probability Problems Euler Torient Function φ(n) = Number of positive integers less than or equal to n which are coprime to n φ(ab) = φ(a) ∗ φ(b) For a prime p, φ(p) = p − 1 For a prime p, φ(pk ) = pk − pk −1 = pk (1 − p ) 1 League of Programmers Maths
  • 64. Maths Probability Problems Euler Torient Function φ(n) = Number of positive integers less than or equal to n which are coprime to n φ(ab) = φ(a) ∗ φ(b) For a prime p, φ(p) = p − 1 For a prime p, φ(pk ) = pk − pk −1 = pk (1 − p ) 1 N = (p k1 ) ∗ (p k2 ) ∗ ... ∗ (pt ) 1 2 k t League of Programmers Maths
  • 65. Maths Probability Problems Euler Torient Function φ(n) = Number of positive integers less than or equal to n which are coprime to n φ(ab) = φ(a) ∗ φ(b) For a prime p, φ(p) = p − 1 For a prime p, φ(pk ) = pk − pk −1 = pk (1 − p ) 1 N = (p k1 ) ∗ (p k2 ) ∗ ... ∗ (pt ) k t 1 1 1 − p1 ) 1 2 a a a 1 1 φ(n) = p11 p22 ..pt t ) = n∗( − p1 ) ∗ ( − p2 ) ∗ · · · ∗ ( t a a a (p1 −1)∗(p2 −1)..(pt −1) ≡ φ(n) = p11 p22 ..pt t ) =n∗ (p1 p2 ..pt ) League of Programmers Maths
  • 66. Maths Probability Problems Euler Torient Function Seive for φ(n) League of Programmers Maths
  • 67. Maths Probability Problems Euler Torient Function Seive for φ(n) Run prime sieve once and store result in primes[1..n] League of Programmers Maths
  • 68. Maths Probability Problems Euler Torient Function Seive for φ(n) Run prime sieve once and store result in primes[1..n] for(i=1 to n) phi[i]=i for(i=2 to n) if(prime[i]) for(j=1 to n/i) phi[i*j]=phi[i*j]*(i-1)/i League of Programmers Maths
  • 69. Maths Probability Problems Euler Torient Function Seive for φ(n) Run prime sieve once and store result in primes[1..n] for(i=1 to n) phi[i]=i for(i=2 to n) if(prime[i]) for(j=1 to n/i) phi[i*j]=phi[i*j]*(i-1)/i This algo runs in O(n log log n) time, but we will make improvements to show how you can at times optimize your code. League of Programmers Maths
  • 70. Maths Probability Problems Euler Torient Function Seive for φ(n) League of Programmers Maths
  • 71. Maths Probability Problems Euler Torient Function Seive for φ(n) Question: Do we really need to generate list of all primes? League of Programmers Maths
  • 72. Maths Probability Problems Euler Torient Function Seive for φ(n) Question: Do we really need to generate list of all primes? Answer : No League of Programmers Maths
  • 73. Maths Probability Problems Euler Torient Function Seive for φ(n) Question: Do we really need to generate list of all primes? Answer : No for(i=1 to n) phi[i]=i for(i=2 to n) if(phi[i]==i) for(j=i to n;j+=i) phi[j] = (phi[j]/i)*(i-1); League of Programmers Maths
  • 74. Maths Probability Problems Fermat's Little Theorem League of Programmers Maths
  • 75. Maths Probability Problems Fermat's Little Theorem If p is a prime number, then for any integer a that is coprime to n, we have ap ≡ a(modp ) League of Programmers Maths
  • 76. Maths Probability Problems Fermat's Little Theorem If p is a prime number, then for any integer a that is coprime to n, we have ap ≡ a(modp ) This theorem can also be stated as: If p is a prime number and a is coprime to p, then ap− ≡ 1(modp ) 1 League of Programmers Maths
  • 77. Maths Probability Problems Euler's Theorem League of Programmers Maths
  • 78. Maths Probability Problems Euler's Theorem Euler's Theorem is a genaralization for Fermat's little theorem when a and n are co-prime League of Programmers Maths
  • 79. Maths Probability Problems Euler's Theorem Euler's Theorem is a genaralization for Fermat's little theorem when a and n are co-prime If x ≡ y (mod φ(n)), then ax ≡ ay (modn). League of Programmers Maths
  • 80. Maths Probability Problems Euler's Theorem Euler's Theorem is a genaralization for Fermat's little theorem when a and n are co-prime If x ≡ y (mod φ(n)), then ax ≡ ay (modn). aφ(n) ≡ 1(modn) (actual theorem is a generalization of the above) League of Programmers Maths
  • 81. Maths Probability Problems Other results If n = p a1 ∗ p a2 ∗ ... ∗ pt , then 1 2 a t The number of its positive divisors equals (a + 1) ∗ (a + 1) ∗ ... ∗ (at + 1) 1 2 League of Programmers Maths
  • 82. Maths Probability Problems Other results If n = p a1 ∗ p a2 ∗ ... ∗ pt , then 1 2 a t The number of its positive divisors equals (a + 1) ∗ (a + 1) ∗ ... ∗ (at + 1) 1 2 Sum of the divisors of n equals +1 t p m i −1 d |n = i i =1 p −1i League of Programmers Maths
  • 83. Maths Probability Problems Miller-Rabin Test (Primality Testing) Input: n 1, an odd integer to test for primality. write n-1 as 2s d by factoring powers of 2 from n-1 repeat for all : a ∈ [2,n-2] If ad = 1 mod n and a .d = −1 mod n for all r ∈ [0, s 1] r 2 then return composite Return prime League of Programmers Maths
  • 84. Maths Probability Problems Miller-Rabin Test (Primality Testing) Input: n 1, an odd integer to test for primality. write n-1 as 2s d by factoring powers of 2 from n-1 repeat for all : a ∈ [2,n-2] If ad = 1 mod n and a .d = −1 mod n for all r ∈ [0, s 1] r 2 then return composite Return prime League of Programmers Maths
  • 85. Maths Probability Problems Miller-Rabin Test (Primality Testing) Input: n 1, an odd integer to test for primality. write n-1 as 2s d by factoring powers of 2 from n-1 repeat for all : a ∈ [2,n-2] If ad = 1 mod n and a .d = −1 mod n for all r ∈ [0, s 1] r 2 then return composite Return prime if n 9,080,191, it is enough to test a = 31 and 73; League of Programmers Maths
  • 86. Maths Probability Problems Miller-Rabin Test (Primality Testing) Input: n 1, an odd integer to test for primality. write n-1 as 2s d by factoring powers of 2 from n-1 repeat for all : a ∈ [2,n-2] If ad = 1 mod n and a .d = −1 mod n for all r ∈ [0, s 1] r 2 then return composite Return prime if n 9,080,191, it is enough to test a = 31 and 73; if n 4,759,123,141, it is enough to test a = 2, 7, and 61; League of Programmers Maths
  • 87. Maths Probability Problems Miller-Rabin Test (Primality Testing) Input: n 1, an odd integer to test for primality. write n-1 as 2s d by factoring powers of 2 from n-1 repeat for all : a ∈ [2,n-2] If ad = 1 mod n and a .d = −1 mod n for all r ∈ [0, s 1] r 2 then return composite Return prime if n 9,080,191, it is enough to test a = 31 and 73; if n 4,759,123,141, it is enough to test a = 2, 7, and 61; if n 2,152,302,898,747, it is enough to test a = 2, 3, 5, 7, and 11; League of Programmers Maths
  • 88. Maths Probability Problems Miller-Rabin Test (Primality Testing) Input: n 1, an odd integer to test for primality. write n-1 as 2s d by factoring powers of 2 from n-1 repeat for all : a ∈ [2,n-2] If ad = 1 mod n and a .d = −1 mod n for all r ∈ [0, s 1] r 2 then return composite Return prime if n 9,080,191, it is enough to test a = 31 and 73; if n 4,759,123,141, it is enough to test a = 2, 7, and 61; if n 2,152,302,898,747, it is enough to test a = 2, 3, 5, 7, and 11; if n 3,474,749,660,383, it is enough to test a = 2, 3, 5, 7, 11, and 13; League of Programmers Maths
  • 89. Maths Probability Problems Miller-Rabin Test (Primality Testing) Input: n 1, an odd integer to test for primality. write n-1 as 2s d by factoring powers of 2 from n-1 repeat for all : a ∈ [2,n-2] If ad = 1 mod n and a .d = −1 mod n for all r ∈ [0, s 1] r 2 then return composite Return prime if n 9,080,191, it is enough to test a = 31 and 73; if n 4,759,123,141, it is enough to test a = 2, 7, and 61; if n 2,152,302,898,747, it is enough to test a = 2, 3, 5, 7, and 11; if n 3,474,749,660,383, it is enough to test a = 2, 3, 5, 7, 11, and 13; if n 341,550,071,728,321, it is enough to test a = 2, 3, 5, 7, 11, 13, and 17. League of Programmers Maths
  • 90. Maths Probability Problems Outline 1 Maths 2 Probability 3 Problems League of Programmers Maths
  • 91. Maths Probability Problems Mathematical Expectation League of Programmers Maths
  • 92. Maths Probability Problems Mathematical Expectation For a discrete variable X with probability function P(X), the expected value E[X] is given by i xi ∗ P (xi ) the summation runs over all the distinct values xi that the variable can take. League of Programmers Maths
  • 93. Maths Probability Problems Mathematical Expectation For a discrete variable X with probability function P(X), the expected value E[X] is given by i xi ∗ P (xi ) the summation runs over all the distinct values xi that the variable can take. The rule of linearity of of the expectation says that E[x1+x2] = E[x1] + E[x2]. League of Programmers Maths
  • 94. Maths Probability Problems Mathematical Expectation For a discrete variable X with probability function P(X), the expected value E[X] is given by i xi ∗ P (xi ) the summation runs over all the distinct values xi that the variable can take. The rule of linearity of of the expectation says that E[x1+x2] = E[x1] + E[x2]. It is important to understand that expected value is not same as most probable value - rather, it need not even be one of the probable values. League of Programmers Maths
  • 95. Maths Probability Problems Mathematical Expectation Example League of Programmers Maths
  • 96. Maths Probability Problems Mathematical Expectation Example For a six-sided die, the expected number of throws to get each face at least once? League of Programmers Maths
  • 97. Maths Probability Problems Mathematical Expectation Example For a six-sided die, the expected number of throws to get each face at least once? It's (6/6)+(6/5)+(6/4)+(6/3)+(6/2)+(6/1) = 14.7. League of Programmers Maths
  • 98. Maths Probability Problems Mathematical Expectation Example For a six-sided die, the expected number of throws to get each face at least once? It's (6/6)+(6/5)+(6/4)+(6/3)+(6/2)+(6/1) = 14.7. Logic: The chance of rolling a number you haven't yet rolled when you start o is 1, as any number would work. Once you've rolled this number, your chance of rolling a number you haven't yet rolled is 5/6. Continuing in this manner, after you've rolled n dierent numbers the chance of rolling one you haven't yet rolled is (6-n)/6. League of Programmers Maths
  • 99. Maths Probability Problems Mathematical Expectation Example For a six-sided die, the expected number of throws to get each face at least once? It's (6/6)+(6/5)+(6/4)+(6/3)+(6/2)+(6/1) = 14.7. Logic: The chance of rolling a number you haven't yet rolled when you start o is 1, as any number would work. Once you've rolled this number, your chance of rolling a number you haven't yet rolled is 5/6. Continuing in this manner, after you've rolled n dierent numbers the chance of rolling one you haven't yet rolled is (6-n)/6. For an n-sided die the expected throws is (n/n) + (n/(n-1)) + (n/(n-2)) + ... + n. League of Programmers Maths
  • 100. Maths Probability Problems Other Things to Read League of Programmers Maths
  • 101. Maths Probability Problems Other Things to Read Extended Euclid's algo League of Programmers Maths
  • 102. Maths Probability Problems Other Things to Read Extended Euclid's algo Chinese remaindering League of Programmers Maths
  • 103. Maths Probability Problems Other Things to Read Extended Euclid's algo Chinese remaindering Farey's sequence League of Programmers Maths
  • 104. Maths Probability Problems Other Things to Read Extended Euclid's algo Chinese remaindering Farey's sequence Optimised Sieve, Sieve of Atkins League of Programmers Maths
  • 105. Maths Probability Problems Other Things to Read Extended Euclid's algo Chinese remaindering Farey's sequence Optimised Sieve, Sieve of Atkins How to solve Diophantine Equation League of Programmers Maths
  • 106. Maths Probability Problems Other Things to Read Extended Euclid's algo Chinese remaindering Farey's sequence Optimised Sieve, Sieve of Atkins How to solve Diophantine Equation Pollard Rho factorization League of Programmers Maths
  • 107. Maths Probability Problems Other Things to Read Extended Euclid's algo Chinese remaindering Farey's sequence Optimised Sieve, Sieve of Atkins How to solve Diophantine Equation Pollard Rho factorization Stirling numbers League of Programmers Maths
  • 108. Maths Probability Problems Other Things to Read Extended Euclid's algo Chinese remaindering Farey's sequence Optimised Sieve, Sieve of Atkins How to solve Diophantine Equation Pollard Rho factorization Stirling numbers Inclusion-exclusion League of Programmers Maths
  • 109. Maths Probability Problems Other Things to Read Extended Euclid's algo Chinese remaindering Farey's sequence Optimised Sieve, Sieve of Atkins How to solve Diophantine Equation Pollard Rho factorization Stirling numbers Inclusion-exclusion Gaussean Elimination (Find the determinant of a matrix) League of Programmers Maths
  • 110. Maths Probability Problems Other Things to Read Extended Euclid's algo Chinese remaindering Farey's sequence Optimised Sieve, Sieve of Atkins How to solve Diophantine Equation Pollard Rho factorization Stirling numbers Inclusion-exclusion Gaussean Elimination (Find the determinant of a matrix) Group Theory League of Programmers Maths
  • 111. Maths Probability Problems Outline 1 Maths 2 Probability 3 Problems League of Programmers Maths
  • 112. Maths Probability Problems Problems Links: 1 http://www.spoj.pl/problems/MAIN111/ 2 http://www.spoj.pl/problems/NDIVPHI/ 3 http://www.spoj.pl/problems/CUBEFR/ 4 http://www.spoj.pl/problems/NOSQ/ 5 http://www.spoj.pl/problems/UCI2009B/ 6 http://www.spoj.pl/problems/SEQ6/ 7 http://www.spoj.pl/problems/HAMSTER1/ 8 http://www.spoj.pl/problems/MAIN74/ 9 http://www.spoj.pl/problems/TUTMRBL/ 10 http://www.spoj.pl/problems/FACT0/ 11 http://www.spoj.pl/problems/GCD3/ 12 http://www.spoj.pl/problems/CRYPTON/ 13 http://www.spoj.pl/problems/MAIN12B/ 14 http://www.spoj.pl/problems/PLYGRND/ League of Programmers Maths
  • 113. Maths Probability Problems Problems Added on the contest on VOC http://ahmed-aly.com/voc/ Contest ID: 2633 Name: ACA, IITK LOP 04 Author: pnkjjindal League of Programmers Maths