「CyOI」Round 1 赛后总结帖
  • 板块学术版
  • 楼主Rosent
  • 当前回复134
  • 已保存回复10
  • 发布时间2025/8/12 19:26
  • 上次更新2025/8/14 01:07:03
查看原帖
「CyOI」Round 1 赛后总结帖
651793
Rosent楼主2025/8/12 19:26

你好,我们是 CyOI!

比赛概况

本场比赛共有 2.4×1032.4\times10^3 人报名,其中非零分选手 389389 人,AK 选手 00 人。

各题具体情况如下:

题目提交次数通过人数通过率^\dagger预期
A2503250355552.20%2.20\%符合预期
B42804280110.02%0.02\%远低于预期
C63363317172.69%2.69\%略高于预期
D328328220.61%0.61\%符合预期

^\dagger 通过率为 通过人数 除以 提交次数。

题目题解已公开。题目将会加入主题库,其中 C 题将被加强。

致歉

  • 由于一些原因,我们在比赛审核阶段没有落实团队的奖项认证情况,未能与审核进行充分交流,导致了今天上午 T1 因为出题人资质问题被临时撤下,进而导致整体难度过高,在此表示歉意。

  • 追忆 一题被爆标。std 的原复杂度为 O(n53)O(n^{\frac{5}{3}}),实际上,可以做到 O(n32)O(n^{\frac{3}{2}})

  • 本帖发布较晚。

杂言

正如并不后记的后记里写到,CyOI 是一个临时拼凑的团队,大家因不同的原因偶然相遇,在此之后也是必然四散离开。

但无论如何,作为 NOI 2026 举办校的学生,希望大家都可以在 NOI 2026 的舞台上相聚。希望大家,都能拥有一个美好的未来。

:::info[获奖名单]

排名奖

rk1\texttt{rk1} @BreakPlus 56r

rk2\texttt{rk2} @clyclycly 28r

rk3\texttt{rk3} @zhenghanyun 19r

rk4\texttt{rk4} @dream10 14r

rk5\texttt{rk5} @Graphcity 11r

一血奖

A\texttt{A} @dream10 8r

B\texttt{B} @thomaswmy 15r

C\texttt{C} @zhenghanyun 29r

D\texttt{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

2025/8/12 19:26
加载中...