你好,我们是 CyOI!
本场比赛共有 2.4×103 人报名,其中非零分选手 389 人,AK 选手 0 人。
各题具体情况如下:
题目 | 提交次数 | 通过人数 | 通过率† | 预期 |
---|---|---|---|---|
A | 2503 | 55 | 2.20% | 符合预期 |
B | 4280 | 1 | 0.02% | 远低于预期 |
C | 633 | 17 | 2.69% | 略高于预期 |
D | 328 | 2 | 0.61% | 符合预期 |
† 通过率为 通过人数 除以 提交次数。
题目题解已公开。题目将会加入主题库,其中 C 题将被加强。
由于一些原因,我们在比赛审核阶段没有落实团队的奖项认证情况,未能与审核进行充分交流,导致了今天上午 T1 因为出题人资质问题被临时撤下,进而导致整体难度过高,在此表示歉意。
追忆 一题被爆标。std 的原复杂度为 O(n35),实际上,可以做到 O(n23)。
本帖发布较晚。
正如并不后记的后记里写到,CyOI 是一个临时拼凑的团队,大家因不同的原因偶然相遇,在此之后也是必然四散离开。
但无论如何,作为 NOI 2026 举办校的学生,希望大家都可以在 NOI 2026 的舞台上相聚。希望大家,都能拥有一个美好的未来。
:::info[获奖名单]
排名奖
rk1 @BreakPlus 56r
rk2 @clyclycly 28r
rk3 @zhenghanyun 19r
rk4 @dream10 14r
rk5 @Graphcity 11r
一血奖
A @dream10 8r
B @thomaswmy 15r
C @zhenghanyun 29r
D @waaadreamer 57r
幸运奖
中奖编号排名: 9 17 20 21 28 33 43 47 56 64 的用户。
@Moon_Wind @Gold14526 @Watersphere @xujiangnan1014 @trp_hy @Z_Z_Y @DFM_O @dxbt @Water__Problem @fairfriendZ 各获得 5r。
::::info[生成程序 by deepseek]
#include <iostream>
#include <vector>
#include <unordered_set>
#include <random>
#include <algorithm>
using namespace std;
vector<int> drawLottery(int n, const unordered_set<int>& excluded, int winnersCount) {
// 检查参数是否有效
if (n <= 0 || winnersCount <= 0) {
cerr << "Error: n and winnersCount must be positive." << endl;
return {};
}
if (excluded.size() >= n) {
cerr << "Error: Too many excluded numbers." << endl;
return {};
}
if (n - excluded.size() < winnersCount) {
cerr << "Error: Not enough candidates after exclusion." << endl;
return {};
}
// 准备候选池
vector<int> candidates;
for (int i = 1; i <= n; ++i) {
if (excluded.find(i) == excluded.end()) {
candidates.push_back(i);
}
}
// 随机打乱候选池
random_device rd;
mt19937 g(rd());
shuffle(candidates.begin(), candidates.end(), g);
// 取前winnersCount个作为中奖者
vector<int> winners(candidates.begin(), candidates.begin() + winnersCount);
sort(winners.begin(), winners.end()); // 排序结果便于查看
return winners;
}
int main() {
// 输入参数
int n = 65; // 总人数
unordered_set<int> excluded = {1,2,3,4,5,58,65}; // 排除的编号
int winnersCount = 10; // 中奖人数
// 抽奖
vector<int> winners = drawLottery(n, excluded, winnersCount);
// 输出结果
if (!winners.empty()) {
cout << "中奖编号为: ";
for (int num : winners) {
cout << num << " ";
}
cout << endl;
}
return 0;
}
::::
我将在两日内联系您并发送奖金,请注意“私信接受设置”需要为“所有人”。 您也可以主动联系 QQ:3640233006
。