Profil de zj羽笑飞烟PhotosBlogListesPlus Outils Aide

Blog


4 septembre

第一次当judge

第一次当judge,挺新鲜的。我负责的是D题,这题的标程和数据我都检查,修改了n遍的,结果从头到尾都没人交,我干等了半天,最后只能抢判别人的题来过过瘾,有点儿郁闷啊。。。
详情 to be continued... ^_^

Sdragon在整个比赛过程中进行了实时纪录,很多细节都记得非常清楚,所以。。。嘿嘿

以下内容转自Sdragon的空间:

今天TJU办比赛,作为选拔出国参加比赛的最后一次校内比赛。几天之前fanskyer正好出了一套题,Mr.于说拿来做这次的比赛,于是BunnyQ说让我再出一道数学题就可以了。可是在一天时间内我哪里可以出出来一道很有技术含量的数学题还要保证数据的正确性呢?况且好长时间不做ACM,我的数学水平也下降不少...于是我从一个大家几乎都没有去过的OJ上找了一道,改了一下数据范围,把原来的数据改成高精的就交给BunnyQ了。

昨天来机房调机器,装pc^2,minGW,调好机器后,先拿一道简单题做了一次模拟,

后来Oxford发现自己的机器竟然judge时报错。后来发现竟然没有设环境变量,狂ft。

neverstop判了一个队伍超时,直到所有的队伍都过了他们仍旧没有AC,可是他们几乎是天大最强的队了。好奇怪啊。我跑到server上又重新运行了一下他们的程序,发现没有问题,后来neverstop说可能是他当时正在从硬盘狂拷东西,弄得程序超时了,遭到大家疯狂鄙视。

今天11点45左右来到机房,发现大家来得差不多了。于是在一阵兴奋之后比赛开始了。

大家都兴致很高,第一次做judge嘛,很新鲜。可是开始十几分钟之后,突然server的显示器花屏了,然后几个team都被踢出去了,但是judge的没有,于是赶紧趁这段时间大家还没有提交程序重启server。:(

重启之后,judge都登进来了,但是BunnyQ突然跑过来说五个team只有一个能登上,于是又是一次重启。:(

这次重启之后,一切正常了。又过了不到十分钟,开始有队提交了,当时比较激动,连哪个队都没有注意看,后来看了一下记录,才知道是Hunter队。我的F题啊,哈哈。其实我的那道题算法比较简单,只要普通的一个DP就可以出来,但是因为数据比较大,要用高精才行。好想看到第一次提交就1Y啊,可是办法,他们没有用到高精,到了最后超出64位INT的数据他们的都错了,只好给了一个WA。

大家都很兴奋啦,终于又有队伍提交了,这次是BliZZard,本来是我的题目嘛,被大家一阵乱抢,后来好像是nerverstop给judge的,过了。ft,AC的怎么让别人抢到了?

后来可能是大家看到有队伍过了F题,都开始交F,这时全部的judge都乱套了,不知道谁该judge哪道啦,搞不懂那个PC^2的filter是怎么回事,反正该过滤的没有过滤,不该过滤反而没有显示出来。:(

后来,又有几个队提交了几次,不过都是没有高精的。肯定WA了。

大概到了70分钟左右时,Rocket提交了一次,已经很接近正确结果了,只有最后面的几组数据出错了,而且使用了高精,可是他们没有继续做下去...sigh

74分钟时,Hunter过了那道听说很简单的B题。不过被罚一次。

107分钟时,终于又有人过题了。BliZZard,也过了B题,1Y,看来竞争还是挺激烈的,因为出国的名额也是从他们之中产生的...

两个多小时时,2000_ducks交了B题,结果是正确的,可是不知道她们为什么每个case都要多打一个莫名其妙的字符串,只好给WA了。

142分钟时,Hunter终于过了F题,第三次提交才过的。sigh,BliZZard都是1Y的,这一下罚时相差不少呢。

149分钟,2000_ducks终于又交了一次,唉,没有过得了陷阱,甚至连样例都没有过,只好又不幸地WA了。

到了165分钟之后,先是BliZZard过了G题,然后不到一分钟,2000_ducks终于过了B题,哈哈,MM队终于突破了0啦。

210分钟时,Rocket过了B题,2Y,到这时,就只有CCTM还没有出题。

比赛结束前一小时各个队伍做题最多的是三道,而且看来要他们再出一道是很难的。

唉,看来我的QSB是得不到了。之前我们在ACMCLUB投票来打赌看谁能猜中最多能做出多少题,当时没有仔细看题,也不知道他们的真正实力,就猜了5道,现在看来是不行了。不过如果这样到最后的话,好像大家都得不到fanskyer的QSB了,因为大家好像最少也猜了4道。:( 不过虽然QSB看样子得不着了,但是还是蛮有意思的。

等啊等,看来不会有什么奇迹了,可能最后一个小时不会再有队出题了,我一直这样想,但是在最后20分钟时,奇迹真的发生了,CCTM没有做出其它四个队都做出来的B题,可是却做出了需要高精的F题。ft...

在最后10分钟时,Mr.于过来了,说:“到了现在,你们就疯狂地提交吧。他们都闲了老长时间了。正式比赛时到了最后也是,有点修改就交。“一句话不要紧,大家不论有没有修改就提交,我们在judge完了之后,也没有什么奇迹发生。

比赛结束了,大家在一起讨论着题的算法,说得好热乎。结果也出来了,最后决定,如果能去国外比赛的话,就是BliZZard了。

唉,比赛是比完了,可是我们却都担忧起他们的实力来。以我们出的这套题,如果放到去年由我们来做的话,应该不会是这个结果的。Sigh,不说这个了,下面总结一下这套题的解题思路,大部分是fanskyer写的。

  • A题,解决实际中遇到的问题,题目的关键在于——不会有错误的字符,如果有的话这个问题难度会加大很多。只需要分析每一个字符的特征,就可解。
    1. 方法1 对于每一个数字,预先找出他有多少种如下的特征,即可唯一的确定一个数字 终点型 1种 7型 4种 三岔型 4种
    2. 方法2 判断多少个顶点,这样会有重复的,然后对于重复的再加判断即可。 这样可以 flood fill 然后根据以上的特征作出判断
  • B题,非常简单,读懂就能迅速做出来。有一个小trick,就是如果只有一个学期,则单独输出那个学期就应该省掉。当时TJU有几个队没过都是因为这个问题。还有新题需要排序,偶得程序里排序用一个0-9999的循环, 因为学期号是一个4位的数字。
  • D题,本来希望是BT字符串处理题. Special Thanks to OXFORD~ 帮忙编写复杂的标程~,可惜那天都没用上 很多地方不是很符合HTML规范, 谁知道我怎么改的, 好BT
  • E题,一开始想做一个搜索题. 求一个移动序列. 但题目太普通了, 而且可能大多数人都碰过. 于是 稍微改动了一下,改成 4*4 的加两个空格/ 和IOI重了,再改 4*5 三个空格. 理论上2个空格就足够了,所以为了更逻辑可以放弃使用一个空格. 一下是我想的,没有具体测试过,不保证一定正确的说 1 2 3 4 5 6 7 8 9 10 先移1 6, 后面的分2组 2 3 7 8 / 4 5 9 10/ 分别移,然后再动下面的。
  • F题,本来就是一个比较简单的递推题,后来改改成了高精度的,极其简单。

哈哈,第一次做judge,非常好玩啊,以后有机会还去做。