第十五届蓝桥杯JavaB组省赛题解
蓝桥杯2024年第十五届省赛真题-分布式队列 - C语言网 (dotcpp.com)
阅读理解+模拟
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> list[n];
string cz;
int element, follower_id;
while (cin >> cz) {
if (cz == "add") {
cin >> element;
list[0].push_back(element);
} else if (cz == "sync") {
cin >> follower_id;
if (list[0].size() != list[follower_id].size()) {
list[follower_id].push_back(list[0][list[follower_id].size()]);
}
} else if (cz == "query") {
int min_size = list[0].size();
for (int i = 1; i < n; i++) {
min_size = min(min_size, (int)list[i].size());
}
cout << min_size << endl;
}
}
return 0;
}
蓝桥杯2024年第十五届省赛真题-食堂 - C语言网 (dotcpp.com)
分类讨论+贪心
因为有3人寝室,而桌子有4和6人桌,如果让3人寝室上4人桌的话这样就会空出一个位置,而其他4人2人寝室都可以凑满。
所以我们这只要讨论3人寝室,能先放6人桌就先放6人桌。剩下的2人寝和4人寝室,先放满6人桌,再放4人桌。(不过这个分类讨论情况真的太多了,写了2小时都没写出来脑子晕了就不贴代码了)
蓝桥杯2024年第十五届省赛真题-最优分组 - C语言网 (dotcpp.com)
思路很简单,我们只要枚举每个组有多少宠物就行了。
假设每个组有 x x x个宠物。一开始让一个组内所有宠物共同使用一个试剂,也就是需要 n / x n/x n/x个试剂
再假设每个组里患病的宠物是 x ∗ p x*p x∗p,而总的患病数量是 n ∗ x