CF1551B2 题解
原题链接:https://www.luogu.com.cn/problem/CF1551B2
题目分析
本题相比起B1题而言,颜色的数量不固定,并且要求输出的是染色情况。因此可以继续带着B1题的思路做。
1.
用一个数组统计每个数字出现次数,若该数字出现次数小于颜色数量则可以给这个数字染色,反之,第
\(k\)
次及以后出现的该数字无法被染色。
2. 用一个 vector
储存能被染色的数字及其输入顺序。
3. 将上述 vector
按照数字从小到大排序,然后依次染上 \(k\) 种颜色。
4. 将结果输出。
细节思考
请思考以下两个问题:
1. 为什么要给vector排序?
2. 最多能有多少数字被染色?
以上两条是我认为细节上存在思维难度的地方,核心代码中的注释有详细解释。
核心代码
1 |
|
CF1551B2 题解
https://www.jollyan.top/cf1551b2-ti-jie/