社区讨论
「CyOI」Round 1 赛后总结帖
学术版参与者 100已保存回复 136
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 136 条
- 当前快照
- 1 份
- 快照标识符
- @me8gpofp
- 此快照首次捕获于
- 2025/08/12 19:32 6 个月前
- 此快照最后确认于
- 2025/11/04 06:22 4 个月前
你好,我们是 CyOI!
比赛概况
本场比赛共有 人报名,其中非零分选手 人,AK 选手 人。
各题具体情况如下:
| 题目 | 提交次数 | 通过人数 | 通过率 | 预期 |
|---|---|---|---|---|
| A | 符合预期 | |||
| B | 远低于预期 | |||
| C | 略高于预期 | |||
| D | 符合预期 |
通过率为 通过人数 除以 提交次数。
题目题解已公开。题目将会加入主题库,其中 C 题将被加强。
致歉
-
由于一些原因,我们在比赛审核阶段没有落实团队的奖项认证情况,未能与审核进行充分交流,导致了今天上午 T1 因为出题人资质问题被临时撤下,进而导致整体难度过高,在此表示歉意。
-
追忆 一题被爆标。std 的原复杂度为 ,实际上,可以做到 。
-
本帖发布较晚。
杂言
正如并不后记的后记里写到,CyOI 是一个临时拼凑的团队,大家因不同的原因偶然相遇,在此之后也是必然四散离开。
但无论如何,作为 NOI 2026 举办校的学生,希望大家都可以在 NOI 2026 的舞台上相聚。希望大家,都能拥有一个美好的未来。
获奖名单
排名奖
BreakPlus56r
clyclycly28r
zhenghanyun19r
dream1014r
Graphcity11r
一血奖
dream108r
thomaswmy15r
zhenghanyun29r
waaadreamer57r
幸运奖
中奖编号排名: 9 17 20 21 28 33 43 47 56 64 的用户。
Moon_WindGold14526Waterspherexujiangnan1014trp_hyZ_Z_YDFM_OdxbtWater__ProblemfairfriendZ各获得 5r。
生成程序 by deepseek
CPP#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。回复
共 136 条回复,欢迎继续交流。
正在加载回复...