1.8日考试补题

发布时间 2024-01-12 13:05:04作者: CQWYB

没有打,但感觉 \(A,B,C\) 都很简单。可能是黑色题面自动降智?

\(A\)

没想到这道题还有两个人没做出来

做法

用一个小根堆维护静态前缀第 \(k\) 大的值就行了。

具体地

  • 如果当前堆中元素小于 \(k\) 个,那么就直接放入。
  • 如果当前堆中元素大于 \(k\) 个,那么就判断一下如果堆顶元素是否大于当前的元素,如果大于那么当前前 \(k\) 大的元素还是堆顶,否则弹出堆顶元素,放入当前的元素,再取出的堆顶就为前 \(k\) 大的元素。

\(B\)

做法

贪心,优先考虑数字为 \(2\) 的方块,再考虑数字为 \(1\) 的方块,最后考虑数字为 \(0\) 的方块。正确性显然。

\(C\)

做法

考虑到 \(n\) 很小,可以直接合并两条可以相交的线段,然后因为题意说的是要删除最少的线段数量,转化一下就是要使分的组越多越好。想到这里,我们发现这是一个很经典的贪心选点问题!所以直接贪心即可。

\(D\)

玄学期望 \(dp\) ,不会。