2023 年洛谷愚人节月赛赛后总结
  • 板块站务版
  • 楼主chen_zheAya
  • 当前回复80
  • 已保存回复80
  • 发布时间2023/4/10 12:26
  • 上次更新2023/10/28 13:41:10
查看原帖
2023 年洛谷愚人节月赛赛后总结
8457
chen_zheAya楼主2023/4/10 12:26

2023 年洛谷愚人节月赛在昨天晚上落下帷幕。

得分情况

本次比赛共有 6078 人提交代码,3730 人有分。以下为每个题目的得分情况

题目编号AC 人数平均得分(仅针对提交过该题的人)
A285864.94
B102225.58
C107233.20
D24812.50
E813.33
F40556.23
G16026.98
H14520.27
I43145.18
J118.05
K00.93
L00.00
M07.20
N10.63
O02.82
P6127.56
Q02.85
R00.00
S169.46

获奖情况

VinstaG173 的奖励的条件为:

获取《四月是你的谎言》一题中的彩蛋,并在赛时给 VinstaG173 发送正确的私信的首位选手

第一个正确发送私信的选手为 @Mine_King,获得奖品:一张价值 19rmb 的四谎色纸或 15 元微信红包。请私信 VinstaG173 兑奖。


WYXkk 的奖励的条件为:

称 T316300 为原题,U113725 为隐藏题。按以下优先级发放两份奖品,发完为止:如果隐藏题通过至少一人,隐藏题第一个 AC 者;如果隐藏题通过至少两人,隐藏题其余 AC 者中随机一位;原题第一位 AC 者,与第一条重复则顺延;原题其余 AC 者中随机一位。使用种子为 20230401 的 mt19937 作为生成器,std::uniform_int_distribution<int> 作为随机生成算法。按照排行榜顺序给待抽奖的选手编号。

隐藏题的第一个 AC 者为 QwQ666_666。其余 AC 者用以下代码进行随机选取:

#include<bits/stdc++.h>
#include<random>
using namespace std;
string s[]={
"蔡竣凯 #2",
"sunzz3183 #18",
"cannotdp #20",
"_PMAC_ #34",
"xwh_Marvelous #44",
"lw21144 #46",
"OI_LOSER_CGY #53",
"听取MLE声一片 #57",
"cff_0102 #63",
"zct_sky #246",
"xjy2333 #325",
"wjq1 #345",
"Kindolph #745",
"wenlebo #1754",
"wangjingtian1234 #1962"
};
int main()
{
    mt19937 rd(20230401);
    uniform_int_distribution<int> distrib(0,14);
    cout<<s[distrib(rd)];
}

输出结果为 sunzz3183 #18。

恭喜 @QwQ666_666 与 @sunzz3183 获得奖品:一份 14 Minesweeper Variants,或其它价格不超过 29 元的解谜游戏,或 25 元微信红包。请私信 WYXkk 兑奖。


LeavingZ 的奖励的条件为:

投最少的硬币数通过《一万巫女》,若相同取最早的提交

最少的硬币数为 @xiaomuyun 的 512 个,获得奖品:华中科技大学文创纪念品。请私信 LeavingZ 兑奖。


E_Space 的奖励的条件为:

赛时在《回忆录》一题中获得 200 分,若有多个取最早的提交记录

没有人获奖。奖品为 250 元红包。


kkksc03 的奖励的条件为:

排行榜首位获得奖励。在 1 到所有选手得分总和中等概率随机选取一个整数 x。同分按照排行榜上的顺序,若所有排名高于自己的选手得分总和小于 x,且所有排名不低于自己的选手得分总和大于等于 x 的选手获得奖励。同一选手不重复获得奖励。重复直到一共 5 名选手获得奖励。使用种子为 20230401 的 mt19937_64 作为生成器,std::uniform_int_distribution<long long> 作为随机生成算法。

使用以下代码进行抽取:

#include<bits/stdc++.h>
#include<random>
using namespace std;

char name[4005][300];
int score[4005];
bool award[4005];

int main()
{
	FILE *f=fopen("Contest_105199_scoreCsv.csv","r");
	char c=0;while((int)c!=-65) fscanf(f,"%c",&c); // remove csv header
	int n=4000;
	long long total_score=0;
	char tmp[500];
	for(int i=1;i<=n;i++)
	{
		fscanf(f,"%s",tmp);
		int commapos=0;
		while(tmp[commapos]!=',')++commapos;
		tmp[commapos]=0;
		sprintf(name[i],"#%d %s",i,tmp);
		sscanf(tmp+commapos+1,"%d",&score[i]);
		total_score+=score[i];
	}
	printf("Total score is %lld.\n",total_score);
	mt19937_64 rd(20230401);
	uniform_int_distribution<long long> d(1,total_score);
	int awardcnt=1;
	award[1]=true;
	printf("%s is awarded.\n",name[1]);
	while(awardcnt<5)
	{
		long long x=d(rd);
		int cur=1;
		while(score[cur]<x) {x-=score[cur];cur++;}
		if(!award[cur])
		{
			award[cur]=true;
			printf("%s is awarded.\n",name[cur]);
			++awardcnt;
		}
	}
	return 0;
}

输出结果为:

Total score is 733459.
#1 Mine_King is awarded.
#639 zzk2010 is awarded.
#80 redsky is awarded.
#325 xjy2333 is awarded.
#1226 OptimisticForever is awarded.

恭喜 @Mine_King,@zzk2010,@redsky,@xjy2333,@OptimisticForever 获得奖品:带签名的盗版《深入浅出程序设计竞赛 - 基础篇》一本。请联系 kkksc03 兑奖。

其他链接

知乎评价通道:https://www.zhihu.com/question/594570056

B 站直播没有录播回放。如果需要文字版题解请加入洛谷用户群:

一群:768286139

二群:129677940

一群只允许 uid 末尾奇数的用户加,二群只允许 uid 末尾偶数的用户加。蓝金钩不受 uid 限制。

加群时,要将自己的 QQ 号写在个人介绍的最开始且无多余内容。机器人审核。

加群每天限量。

2023/4/10 12:26
加载中...