Codeforces Round #156 (Div. 2)

A. Greg's Workout

  • 模3求和,算最大值。

B. Code Parsing

  • 最后左半部分为x,右半部分为y,那么从中间不断去掉xy,直到其中一种全部消去。

C. Almost Arithmetical Progression

  • 构成的序列为两种值交替出现。
  • 离散化后,用\(f(i,j)\)表示数值\(j\)\(a_i\)构成的序列的最长长度。

D. Mr. Bender and Square

  • 二分时间,覆盖的格子数用总数扣除超过4条边界的个数,此时重复扣除了4个角落的格子数,所以还需要加上4个角落的个数。

E. Furlo and Rublo and Game

  • \(10^6\)范围内打表可以找出一定的规律,可以发现2点:
  1. \(sg\)值不大,在0~3之间;
  2. \(sg\)值分成了若干个区间,可肉眼识别。
  • 由于\(a_i\)开方后在\(10^6\)内,结合\(sg\)值不大,可以统计\(sum(i,j)\)(\(1\)~\(i\)\(sg\)值为\(j\)的个数),那么可以\(O(1)\)算出对应\(sg\)值。
posted @ 2016-11-18 22:19  mcginn  阅读(176)  评论(0编辑  收藏  举报