Codeforces Round #160 (Div. 2)

A. Roma and Lucky Numbers

  • 暴力计算。

B. Roma and Changing Signs

  • 每次取最小值改变正负,优先队列维护。

C. Maxim and Discounts

  • 贪心,当买的个数等于最小\(q_i\)时,能拿就拿。

D. Maxim and Restaurant

  • 枚举最后一个不能上桌的人\(x\),\(f(i,j)\)表示i个人凑成长为\(j\)的方案数,当\(j+a[x] \gt p\)时,前\(i\)个人可以随意排列,而没上桌的人除了\(x\)外也随意排列,则对应方案贡献值为\[f(i,j)\cdot i \cdot\frac{i!(n-i-1)!}{n!}\]

E. Maxim and Matrix

  • 根据代码显示,可以知道这是一个有规律的图形:当前图形为一个三角形,下一个图形则是3个三角形构成,并且每行的1的个数为\(2^i\)形式。
  • 根据小数据可以推得,第\(i\)个图形中\(2^j\)的行数为\(\binom{i}{j}\)。
  • 前\(n+1\)行中,若\(n\ge 2^i\),则直接取组合数即可,否则需要考虑一个图形的前若干行,由于图形是有规律的,所以推一推就可以计算剩下的行数。
上一篇:本地Git仓库与Github远程仓库同步


下一篇:陌生的 metaclass(转)