Understanding the jury's solution in 543A — Writing Code (#302)

Правка en4, от marlonbymendes, 2016-10-26 07:14:51

For the following problem 543A - Пишем код, the jury's solution 11035704 optimize the DP solution explained in the contest's editorial http://codeforces.net/blog/entry/17773.

I understood the approach explained in the editorial, but what's the intuition behind the optimization and how it works? Specially the lines with bitwise operations:

    int i = it & 1;
        ...
        z[i][j][k] = z[i ^ 1][j][k];
  ...
    ans += z[n & 1][bl][i];
  ...

Just to be clear: I'm not asking about the bitwise operations alone, but also how the original solution in the editorial translated to the jury's code. For example, if you maintain only the two last rows of the DP, how are you going to construct the problem's solution (output)? Thanks.

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en4 Английский marlonbymendes 2016-10-26 07:14:51 280
en3 Английский marlonbymendes 2016-10-26 06:56:26 14
en2 Английский marlonbymendes 2016-10-26 06:55:46 4
en1 Английский marlonbymendes 2016-10-26 06:54:42 574 Initial revision (published)