Educational Codeforces Round 86 (Rated for Div. 2)-D. Multiple Testcases(优先队列,贪心)
题目链接
题意:
有n个数。划分成一些组。要求是每个组内大于等于i的数不超过c[i]个,求划分出最少的组数和构成方案。
思路:
将a[i]数组从大到小排序,再创建一个pair<int,int>的优先队列,first存数组中元素个数,second存数组下标,然后顺序选取a[i](之前已经排过序),如果该数组中元素数小于c[a[i]],那么a[i]就可以放入该数组中,然后将数组元素+1放回队列。
代码:
#include<bits/stdc++.h>
using namespace st
原创
2020-05-22 00:00:27 ·
300 阅读 ·
0 评论