UOJ Logo vfleaking的博客

博客

共找到 5 篇包含 “UOJ Easy Round” 标签的博客:

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

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

一、引言

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

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

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

答案是否定的!

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

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

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

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

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

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

阅读更多……

UOJ Easy Round #2 题解

2015-05-17 17:47:23 By vfleaking

手机的生产

from wangyisong1996

大家好我是wys,我第一次出UER的题感觉很excited 捂脸熊

这题的idea是这样来的: 有一天wys在写OJ(雾),发现一个需要fork()的程序输出了很多奇怪的东西, 然而wys并不懂fork(),于是wys去学(wan)习(shua)了一下fork(), 然后发现fork() && fork() || fork()会把一个程序复制5份 捂脸熊,非常有趣, 所以就有了这道题。

阅读更多……

UOJ Easy Round #2

2015-05-13 22:58:09 By vfleaking

UOJ Easy Round #2将于5月17日星期日晚上19:00举行!比赛将进行3个小时,共三道题。

这是UOJ第二场UOJ Easy Round。咦为啥在这个节骨眼上搞 Easy Round 呢?大家一定被之前的集训队互测玩坏了,不要慌!UOJ Easy Round 来了!妥妥的 NOIP 或 NOI 难度改善 UOJ 比赛的画风。

Q:到底是 NOI 还是 NOIP 难度能靠谱点吗?

A:然而我做了去年的 NOI 已经分不清楚这俩玩意儿了。具体来说,A题是一道难度低于 UR A 的题,B题和C题都是 UR B 的难度或更低。

每年的5月17日是世界电信日。1865年5月17日,20多个国家在法国巴黎签署《国际电报公约》,并宣布国际电报联盟成立。后来由于无线电及电话等技术的迅猛发展,国际电报联盟在1932年改名为国际电信联盟。1968年国际电信联盟第23届行政理事会上决定,为纪念国际电信联盟建立,强调电信在国民经济发展和大众生活中的作用,特将该组织成立日5月17日定为世界电信日。

本次比赛将以世界电信日为主题。

出题人:wangyisong1996, jiry_2, Glaceon08

这场成绩将计入rating。

参加本次比赛将有机会获得 UOJ 抱枕!0ab58b67706648a636226fb122838aa7 是获奖条件的 md5 码。比赛结束后将公布条件。

再次提醒大家比赛中途只测样例,最后会进行最终测试,把所有提交记录重测。

UPD:比赛已经结束!

echo -n 本次比赛的第二名将获得UOJ抱枕一个 | md5sum
0ab58b67706648a636226fb122838aa7

恭喜获得前 5 名的选手!

  1. sevenkplus
  2. matthew99
  3. ppfdd
  4. SanSiroWaltz
  5. wangck1998

恭喜 matthew99 获得 UOJ 抱枕一个!

UOJ Easy Round #1 题解

2014-11-02 22:32:05 By vfleaking

猜数

算法一

直接暴力枚举所有可能的 $a, b$ 然后判定。可以得30分。

算法二

由于 $a, b$ 都是 $g$ 的倍数,而 $ab = gl = n$,所以当然 $l$ 也是 $g$ 的倍数。

既然如此,我们可以暴力枚举所有 $l / g = st$ 的拆分,然后 $a = gs, b = gt$。

于是暴力枚举所有 $l / g$ 的约数,是 $O(\sqrt{l / g})$ 的。可以得60分。

阅读更多……

UOJ Easy Round #1

2014-10-30 23:55:38 By vfleaking

大家好~~UOJ Easy Round #1将于11月2日星期天晚上19:00举行!比赛将进行3个小时,共三道题。

这是UOJ第一场Easy Round。UOJ Easy Round难度定位大概是noip难度~欢迎大家来玩~!

出题人:ydc, vfleaking, jiry_2

小熊像超人一样飞

这场成绩将计入rating,UOJ第一场计rating的比赛,就要到来了!

之前Test Round的时候有些同学参加比赛时遇到了些麻烦,请注意必须在比赛前报名才能参加。UOJ赛制比较特殊,比赛时只测样例,比赛结束后会进行最终测试。

比赛答疑在博客下面回复就好了~我能及时看见的。

UPD: 比赛结束了,恭喜前5名的选手!

  1. saffah
  2. thomount
  3. latrommI
  4. Gromah
  5. zangfenziang

题解马上发布。

UPD: 题解可以在这里找到