UOJ Logo vfleaking的博客

博客

UOJ NOI Round #7 排行榜

2023-07-17 11:10:32 By vfleaking

UOJ NOI Round #7 结束啦!不知道大家在重(zhòng)庆玩得开不开心,有没有做好准备去成都了呢~

那么下面进入最激动人心的颁奖环节(呱唧呱唧呱唧)

本次比赛成绩以总分为第一关键字,罚时为第二关键词进行排名。由于比赛报名人数超过了 700,实际有分的人数达到了 627,所以本次比赛颁发金牌 40 名,银牌 120 名。金银分数线下依次颁发铜牌,直到获奖选手总数达到总得分人数的 50%。最后共颁发铜牌 154 名。金银铜分数线分别为 450、320(罚时20h)、211(罚时6h)。

本次比赛第一名是 zhoukangyang,笔试 100,机试总分连续两天并列第一,最终拿下了本场比赛的最高分 630 分!

让我们恭喜所有获奖的同学!

另外本次比赛部分题目收到了一些差评。我们 UOJ 是一个非盈利的出题组织,纯纯用爱发电。可能这次发的电稍微不太对大家胃口,或者大家觉得有些题目没有那么 NOI。还请大家填写问卷,在点好评差评之外,告诉我们你的看法。也欢迎对如何出好题有独到见解的同学们加入我们!

问卷链接:https://wj.qq.com/s2/12774740/49e3/

问卷二维码

下面是总榜。

阅读更多……

UOJ NOI Round #6 排行榜

2022-08-07 17:56:07 By vfleaking

UOJ NOI Round #6 结束啦 😝

今年 UNR 报名人数破了 600,实际有分的选手达到了 437 名,创历史新高!

选手们的热情甚至在笔试和 day 1 的时候冲垮了服务器,让网站瘫痪了若干分钟。。吓得我在 day 2 前赶紧给服务器升级了配置。

(负责维护 uoj 的 vfk 在此谢罪 😂)

在此恭喜各位选手排除万难,顺利完成了你们在下山市的旅程!

你们在下山市面了基,看了表演,打了牌,玩了火车,爬了山,还和孔乙己切磋了字符串技术。

相信通过下山市考验的你们,也一定不会被上海市难倒。但是今年 NOI 不在上海办了,那就预祝各位去苏州参加 NOI 的同学考出理想的成绩,不被苏州难倒!

那么下面进入最激动人心的颁奖环节(呱唧呱唧呱唧)

本次比赛成绩以总分为第一关键字,罚时为第二关键词进行排名。金牌 30 名,银牌 60 名。金银分数线下依次颁发铜牌,直到获奖选手总数达到总得分人数的 50%。最后共颁发铜牌 128 名。金银铜分数线分别为 460、337(罚时20h)、214。

本次比赛第一名是 xay5421 同学,笔试 100,机试连 A 五题,只有这第二天的第三题才勉强阻止了他 AK 的脚步。

同时,本次比赛中 csy2005 同学还凭借着自己稳定的发挥,一路狂涨 rating,荣登全 UOJ 用户 rating 榜榜首。

下面是总榜。让我们恭喜所有获奖的同学!

阅读更多……

《重构元宇宙》题解:你能绘制一张精确的世界地图吗?

2022-03-29 15:30:39 By vfleaking

一、引言

如果现在你想制作一张二维地图,上面要标出西安的兵马俑、北京的故宫、上海的东方明珠,还有苏州的每一座园林、武汉的每一家热干面馆,这做得到吗?

有人说,做得到,顺便打开了高德地图或者百度地图。可是别忘了,地球是个球体,上面的这些地点其实都位于球面上。所以所有的二维平面地图都有一定程度的失真 —— 比如俄罗斯在地图上似乎有中国的三四倍大小,但实际面积却只有 1.7 倍

好吧,那就做个三维地图就好了?就像地球仪那样。这样确实有道理,但想像这么一个场景:你想知道从北京的故宫沿直线走路去上海的东方明珠所需要的时间,于是你找到了它们在三维地图中分别对应的两个点 —— 下一步,是测量下这两个点的直线距离,然后除以比例尺,再除以走路的速度吗?

答案是否定的!

因为你走路只会在球面上走,所以你所谓的“沿直线走路”,并不是真的直线,而是球面上连接两点的弧线中最短的那条。所以球面上两点之间的“距离”,其本质乃是球面上一段弧的长度,而非在三维空间中直接沿直线相连的长度。要想从三维地图上知道你走路所需要的时间,你需要拿一把尺子,先把零刻度线对准北京故宫,再向着上海东方明珠的方向,缓缓沿球面转动尺子,直到某个刻度线碰到了上海的东方明珠;这时你把此时尺子的读数除以比例尺,再除以走路速度,这才是你想计算的时间。

那么问题来了 —— 给定一个球面,你能否找到一种办法,把球面上的每个点都唯一地映射到三维空间中,使得每个点原本在球面上的距离,恰好等于映射后在三维空间中的直线距离?如果三维不行,四维呢?五维呢?$n$ 维呢?

这正是本次 UER #10 的 B 题 重构元宇宙 想讨论的问题。该题大意是:给定 $n$ 个点两两之间的距离,你能把他们画在 $k$ 维空间中,且保持所有点两两之间的距离不变吗?还有个附加条件是,对两点之间的距离的查询次数不能超过 $n(k+1)$。为避免精度误差,原题的点的坐标是随机的。这里还有一个加强版,去掉了这个随机性的条件,供勇士们挑战。

所以,要想知道球面上的距离能不能被映射为某个欧式空间的距离,我们只需要先假设它们可以表示为 $k$ 维空间中的距离,然后带到这道 B 题的程序里,看看程序输出的结果是否真的满足假设。

实际生活中或者科学研究中,我们会碰到很多种“距离”,它们的具体定义取决于实际的应用,而非总是像欧式空间一样,把每一维坐标相减,平方加起来,再开根号。例如上面举例的球面上的距离,人们是为了地理上的用途而定义它,在计算中国到美国的飞机行程时也会使用它。如果有一个想从中国去往美国的旅行者,对欧式距离爱得深沉,一定要让自己旅行的时间与欧式距离成正比,那他只能强行通过钻入地下、穿过地心的方式去往美国了。

那么这道题到底该怎么做呢?

阅读更多……

UOJ NOI Round #5 排行榜

2021-07-19 21:15:59 By vfleaking

秋风吹,战鼓擂,UNR,谁怕谁!

今年 UNR 的比赛真是一如既往地激烈,不过也有些例外。goodeat 在笔试不屑于参加的情况下,照样获得了第一,可谓是水平高了,躺着也能赢!

根据得分分布我们最终颁发了 25 个金牌,50 个银牌,50 个铜牌。让我们为获奖选手送上宇宙级的掌声!(瓜几瓜几瓜几瓜几……

祝获奖选手在 NOI 中再接再厉!祝发挥不理想的选手在 NOI 中卷土重来!

以下是本次比赛中得分非零的 317 名选手的排行榜:

阅读更多……

UOJ系统更新啦

2021-04-02 03:55:03 By vfleaking

趁着大家睡觉更新一波UOJ

UOJ终于支持 C++ 14、C++ 17、C++ 20 了。。。按照之前大家在 UOJ 用户群的投票,选择把之前所有语言为 C++ 的记录更名为 C++ 03。

第一个 C++ 20 的提交记录!https://uoj.ac/submission/466125

操作系统升级到了 Ubuntu 20.04,编译器升级到了 g++ 10.2.0。

测评机变成了一台双核的测评机,目前只开了一个核,之后会把另一个核也开起来的。希望以后测评能更稳定一点吧。。。

新版编译器编译出来的 C++ 程序好像内存会大一些,跑 A+B 好像也不能稳定地做到 0ms。。。不明觉厉

非传统题的测评程序需要重新编译,除了509和569之外都搞好了,这两个就先隐藏了 QwQ4月2日下午六点更新:修好了)

如果最近发现了 UOJ 的啥 BUG,不要犹豫!赶紧告诉我哦……

(啊困困,感觉上面都是在随机码字。。)

4月4日更新:现在测评是双核的啦!为了测评稳定性我现在关掉了超线程。

4月8日更新:原来的老测评机现在永久地关闭了。一路走好 QwQ

7月5日更新:C++ 编译器升级到了 g++ 10.3.0,Java 7 和 Java 8 分别升级到了 Oracle JDK 7u80, Oracle JDK 8u202。新增语言 Java 11 和 Java 14,使用的是 OpenJDK 1.11.0 和 OpenJDK 1.14.0。切换到 OpenJDK 是因为 Oracle JDK 8u202 之后的 Oracle JDK 都不是免费的了。

vfleaking Avatar