Codeforces Round #186 (Div. 2)

A. Ilya and Bank Account

  • 模拟。

B. Ilya and Queries

  • 前缀和。

C. Ilya and Matrix

  • 考虑每个元素的贡献。
  • 边长为\(2^n\)时,贡献为最大值;
  • 边长为\(2^{n-1}\)时,贡献为前4大值;
  • 边长为\(2^{n-2}\)时,贡献为前16大值;
  • 以此类推。

D. Ilya and Roads

  • \(dp(i,j)\)表示前\(i\)个洞修复了\(j\)个的最小代价。
  • \(dp(i,j)=min\{dp(k,j-(i-k))+c\}\)\(c\)\(r=i\)的所有公司。
  • 根据转移式子,很容易想到区间最小值问题,一开始用线段树,然后对公司的\(l_i\)排序,可以利用单调栈优化。

E. Ilya and Two Numbers

  • 贪心(自己也不太会),大概是先凑成\(m-1\),否则凑\(、、m-2、m-3、...\)
  • 具体可能还是要看代码
  • 官方题解
posted @ 2017-04-01 19:11  mcginn  阅读(215)  评论(0编辑  收藏  举报