关注
贪心
可以通过有限次的分组和重排,使得书籍编号有序。
首先,需要将书籍按照编号从小到大排序,同时记录每本书原来的位置。
排序后,遍历排序后的数组,检查相邻两本书的原始位置是否连续。如果不连续,说明这里必须要进行一次分组。
统计需要分组的次数,如果这个次数不超过给定的 ,那么就可以实现目标。
#include <iostream>
(30316)#include <vector>
#include <algorithm>
using namespace std;
void solve() {
int n, k;
cin >> n >> k;
vector<pair<long long, int>> books(n);
for (int i = 0; i < n; i++) {
cin >> books[i].first;
books[i].second = i;
}
// 按编号排序
sort(books.begin(), books.end());
int groups = 1;
for (int i = 1; i < n; i++) {
// 如果相邻两本书的原始位置不连续,需要增加一个分组
if (books[i].second - books[i-1].second != 1) {
groups++;
}
}
// 如果需要的分组数不超过k,则可以实现目标
cout << (groups <= k ? "True" : "False") << endl;
}
int main() {
int t;
cin >> t;
while (t--) {
solve();
}
return 0;
}
查看原帖
3 4
相关推荐
点赞 评论 收藏
分享
06-03 03:20
河北农业大学 人力资源专员/助理 点赞 评论 收藏
分享
07-09 16:27
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 大厂面试初体验 #
4627次浏览 42人参与
# 如果可以,你希望哪个公司来捞你 #
100490次浏览 450人参与
# 如何提高实习转正率? #
1997次浏览 30人参与
# leader认为你工作不认真怎么办 #
30653次浏览 140人参与
# 你遇到过哪些神仙同事 #
100184次浏览 724人参与
# 我的国央企投递进展 #
46557次浏览 290人参与
# 国企是理工四大天坑的最好选择吗 #
13629次浏览 95人参与
# 五一之后,实习真的很难找吗? #
78428次浏览 515人参与
# 机械人,你被简历秒挂的企业有哪些? #
42916次浏览 281人参与
# 招聘要求与实际实习内容不符怎么办 #
112856次浏览 770人参与
# 如果公司给你放一天假,你会怎么度过? #
16988次浏览 128人参与
# 找工作时的取与舍 #
80388次浏览 568人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
246165次浏览 1792人参与
# 三一重工求职进展汇总 #
14972次浏览 67人参与
# OPPO求职进展汇总 #
662732次浏览 5041人参与
# 你的秋招第一场笔试是哪家 #
142687次浏览 1453人参与
# 总结:哪家公司面试体验感最差 #
61036次浏览 276人参与
# 如果重来一次你还会读研吗 #
176816次浏览 1786人参与
# 机械人,说说你的烦心事 #
69625次浏览 839人参与
# 面试时被问的最奇葩的问题 #
22927次浏览 130人参与