Codeforces Round #193 (Div. 2)

A. Down the Hatch!

  • 模拟。

B. Maximum Absurdity

  • 处理(max\_id[i])表示后部分([a_i,a_{i+k-1}])最大的下标。

C. Students' Revenge

  • (b_i)降序,(a_i)升序排序
  • 预留(p-k)个数,剩余的按(a_i)降序扔进优先队列。

D. Theft of Blueprints

  • 因为对于任意大小为(k)的子集,有且只有1个点和这(k)个点连接。那么我们可以枚举这个点,考虑该点的边的贡献,假设有(t)条边,则每条边的贡献为(c_iinom{t}{k-1})
  • 最后需要除以(n!),且没有取模,所以目前还没办法做。
  • 考虑(k>=3),此时(n=k+1),否则无法满足题目的条件,此时就可以简化上面的计算,(,k=1,2)单独考虑即可。

E. Binary Key

  • (sum\_i)表示串(q)的前缀和。
  • (r=p \% k),则(strlen(s)=sum\_kcdot lfloorfrac{p}{k} floor+sum\_r)
  • 枚举(sum\_r),贪心匹配,记录字典序最小的方案。
原文地址:https://www.cnblogs.com/mcginn/p/6655284.html