bitwise, when we use this ((k >> i) & 1) == 0

Правка en2, от CazadorDivino, 2015-06-18 07:58:34

In the last codeforces 307 div 2, problem D. One solutione is below, What that mean

  if (((k >> i) & 1) == 0) res = res * fib % mod;
            else
                res = res * (pow2 - fib) % mod;

in this code.

long pow2 = fastPower(2, n);
        long fib = fibonacci(n + 1);
        long res = 1;
        for (int i = 0; i < l; i++)
            if (((k >> i) & 1) == 0) res = res * fib % mod;
            else
                res = res * (pow2 - fib) % mod;
        if (res < 0) res += mod;
        System.out.println(res);
Теги bitwise

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en3 Английский CazadorDivino 2015-06-18 07:59:38 47
en2 Английский CazadorDivino 2015-06-18 07:58:34 131
en1 Английский CazadorDivino 2015-06-18 07:56:43 491 Initial revision (published)