← Back to Home

题目

地图上有 300 个块,每个块每轮能挖出多少,只有站上去挖一次才知道。一局 200 轮, 挖到的总量减去换块费用,最高的赢

每轮三选一

留在原地接着挖;换一个没去过的块;回到去过的某个块。

换块要花钱

每换一次扣一笔固定费用,每张地图不同,面板上会写。留在原地不扣。

你能看到什么

只有你自己挖过的块和自己的得分。没去过的块是灰色迷雾。每局地图重新随机;基础版每局开始时公布本图的产出分布属于哪一种(六种之一,见地图生成),其他参数不公布。代码里用 state.dist 读。

基础版的特点

一个块每次挖到的量是固定的,挖一次就知道它的水平。问题只有一个:试到多好就该停下来守着。

先手动玩几局找感觉,再把打法写成代码,在本页底部提交。比赛先办基础版加强版(每次挖到的量会波动)之后单独办,代码在两个页面之间是共用的。

地图

没站过(迷雾) 站过,越深产出越高(以你见过的最高为最深) 先探后守 阈值停止 ε-greedy UCB
轮次
你的得分
一直站在最好块上能得
你比它少
当前块 / 这轮挖到
换块次数
本图换一次块扣
本图的产出分布
站过的块(按挖到的量排序,点击可回去)

累计得分

#玩家总得分比上限少 换块次数站过的块最后站的块产出它在全图里排
一局结束后出排名

四个机器人和你在同一张地图上跑,它们的走位和得分在一局结束后才公布,免得你跟着它们找好块。 "上限"是假设从第 1 轮就站在全图最好的块上、一次不换,能拿到的分数;"从不换"是开局分到哪块就守哪块,什么都不做的底线。 所有玩家"换新块"拿到的顺序相同,所以策略之间没有抽签运气,比的是在这条顺序上何时停手。

这台电脑上的对局记录

每局结束自动记一行,存在浏览器里。点"复现"用同一个种子重开一局手动,地图完全一样。

时间种子方式分布块 / 轮你的得分上限你排第几
还没有记录

把你的打法写成代码

手动玩几局之后,你心里大概有一套规矩了:试多少块、多好就停、什么时候回头。 把它写成下面这个 decide 函数,每轮替你做决定。下拉框里有几个能跑的模板, 每个顶上有一两个常数,改数字就是调参;想更进一步就改逻辑。接口说明见"空白模板"。 地图的产出分布是怎么生成的,见地图生成

练习世界的参数(正式比赛由老师另定,你改这里只影响自己练习)

写好了在下面的"提交"一节交上去。

提交

练到满意,填昵称,点"提交",代码直接交到服务器,再提交会覆盖上一份。提交前会在本场比赛的 20 个公开分站上试跑一遍:编译不过、10 秒跑不完、任何一站抛异常的都不收,会告诉你哪一站出了什么问题。 正式比赛用老师的隐藏地图和多个种子重跑所有人的代码,所以你在练习里的分数只是参考。 实时榜和正式成绩都在颁奖页

身份码(昵称是谁的,靠它认)

这台设备的身份码:
第一次用某个昵称提交时,服务器把昵称和你的身份码绑定,别人用同一个昵称提交会被拒。 换设备时把身份码抄过去填在下面,就还是同一个人。身份码丢了就换个昵称。