Codeforces Round #140 (Div. 2)

A. Where do I Turn?

  • 叉积判断。

B. Effective Approach

  • 记录位置。

C. Flying Saucer Segments

  • 假设有\(n\)个人,那么\(1\)要移动的话,需要先移动前\(n-1\)个人。
  • 有点类似于汉诺塔问题,写出递推式后矩阵+快速幂计算。

D. Naughty Stone Piles

  • \(k\)叉树,权值越小的深度越大,每种\(k\)做一次即可。

E. Anniversary

  • Fibonacci数列性质$$gcd(F_a, F_b)=F_{gcd(a,b)}$$
  • 问题转化为找一个数\(x\),使得在区间\([l,r]\)范围内的倍数个数大于等于\(k\)
  • 记个数为\(p\),则\(px \le r\),所以只要\(\sqrt{r}\)范围内枚举即可。
posted @ 2016-11-03 22:40  mcginn  阅读(122)  评论(0编辑  收藏  举报