zoukankan      html  css  js  c++  java
  • 一场BC的台前幕后

    #define BC BestCoder

    一场BC的台前幕后

    起源大概是这种:一个月前的BC#75结束后,AK的人非常多,于是CodeVS群里非常多人吐槽BC#75的质量,这时YJQ对KPM说:“我们来出一场BC吧。”恰好近期屯了几个原创,并且发现给BC出比赛竟然有钱拿,并且还不少,而给CodeVS出比赛就没钱拿。尽管说好有奖品可是奖品一直没有出现,于是我就萌生了给BC出题的想法。

    然后又认为一个人搞不是非常靠谱,就把Hillan爷拉进出题的队伍。

    然后就先開始做题面。

    我直接从我之前屯的那些原创里面挑出几个给Hillan爷看,Hillan爷认为还能够。

    于是AB_CE就马上有了。然后Hillan爷提供了一个D。然后我认为A太难了。于是就换了一个非常水的题。至此题面就告成了。

    接下来是标程。

    由于我的那些题之前也是准备过的。再把新的A题水掉之后,就仅仅差Hillan爷的D题了。

    然后Hillan爷说有点麻烦让我写。然而我太弱了。仅仅写出了一个复杂度多个log的暴力。于是被Hillan爷疯狂嘲讽。因此标算是Hillan爷打的。然后E题Hillan爷为了帮我验数据也打了一个,结果速度是我的两倍,果然是我太弱了。由于时限必须定在出题人的某常数倍以上。因此我准备拿Hillan爷的程序当标程。

    然后開始造数据。A题由于本来就是要送分我就直接手打了,B题纯随机一下也没事,C题略微构造了一下,E题也花了些时间构造了不少各种类型的数据防止水过。Hillan爷的D题也是直接随机一下就好了。至此数据完成。

    突然得知pretest和final test都仅仅能各有一组输入输出文件,然后我又怕给E题加多组数据时限过大,于是尽管C题补加了多组数据,可是E题我仅仅是挑出了一个觉得最强的数据来作为final test。

    然后看了下比赛命题注意事项。发现为了支持hack模块。必须写输入数据验证程序。然后并不知道传说中的testlib.h是如何的,虽然在阅读vfk《一场CF的台前幕后》时了解到这东西。并且也不知道整个格式应该是如何的。然后发现有个QQ联系方式,就加了。然后就拿到了一个比赛命题模板。然后发现事实上非常easy写的,于是就非常快就写完了。

    突然发现还有英文题面。在英语大神的指导下,我完毕了翻译,而且给Hillan爷的英语老师看了一下。然后改了一堆错误。

    至此大概就搞定了,于是和BC管理员定好了时间,BC#79,4月9日。

    然后就是大概两个星期的等待,期间有少数几次更新。

    BC#78之前几天,BC管理员给我开了測试场,让我把题目加进去,而且做一些提交測试。

    BC#78结束后,BC首页上就挂出了BC#79的报名链接。

    第二天,BC管理员拉我进了验题群。而且在群里发布了測试场链接。

    三天后,最终出现了我进群之后的第二句消息:“这套题会不会……太难了……另:难度预期标杆:xxx。”当中xxx是BC#75的链接。

    然而假设再出得和BC#75一样水肯定还是要被吐槽的吧。

    然后发现E题描写叙述弄错了,赶紧更正。

    这时又有人说B题太难了。我就说代码除了读入输出就两行啊,然后就被疯狂嘲讽:“难道评定题目难度仅仅有代码长度一个參数?逗我。”

    然后我承认这题的思考难度确实太大,就扔出了一个备用的比較简单的题。公认难度不算太大。然后在Claris的要求下。我还是给E题搞了多组数据。这时突然发现虽然多组数据,可是还是跑的非常快。时限不必非常高。然后又论了论B题的难度,群里就渐渐没消息了。

    一晃就到了比赛当晚。19点整,比赛開始。

    花絮:在div2中。一堆人在Clarification里表示不太清楚题意,怎么这么多人都觉得正多边形内角和是360°,你们的数学是体育老师教的吗?

    3分27秒。div2首个人过A。

    5分钟内。11人过A。6分钟内,27人过A。7分钟内,47人过A。

    8分钟内,67人过A。9分钟内,101人过A。10分钟内。123人过A。

    15分钟内,241人过A。

    20分钟,377人过A。总之增长速度极快。一定程度上超出了我的想象。

    然而div2竟然没人过B……此时有人在验题群里吐槽了:B题确实太难了吧。

    div1的情况也好不到哪儿去:8分54秒,首个人过B。10分50秒后,首个人过C。25分18秒后,首个人过D。仅仅看这些信息似乎非常好。然而事实是前30分钟也仅仅有12人次AC……

    然后我也意识到B题真的难了,这就导致div2一堆人过A之后卡死,而div1一堆人看题跑。

    26分43秒,div2首个人过B。接下来34分30秒,36分59秒。41分06秒……陆续有人过B,可是比过A的记录不知道稀疏到哪儿去了,结果1小时内仅仅有10个人过B。终于也仅仅有27个人过B。

    有意思的是。在div2中,41分36秒。首个人过D,45分13秒,第二个人过D。而56分43秒才有人过C,终于也仅仅有8个人过D,可是过C的人更是少得可怜:3个。因此验题群有人说。D题是不是比C题还简单。

    再看看div1,似乎略微有趣一些,做题分布比較杂,过AB_C的都有一些:40分钟内。15人过B,8人过C。4人过D。1小时内,33人过B,15人过C。7人过D。

    激动人心的事情发生了,有人过了E!

    然而又突然看到他在Clarification里面问E题的pretest有几组数据,说自己怕TLE。于是我看了看他的E跑了4800ms,而final test的数据量是pretest的1.5倍。只是他写的似乎是三个log的算法,被卡掉也是应该的吧。

    一晃比赛就结束了。突然发现D题时限设置错误,一堆人被卡常。好像仅仅有一个人过,并且那个人和时限仅仅差了100ms不到……改正后,通过率就正常了。有人的写法和我之前写的暴力一样。多了个log,还是被卡掉了。

    div2终于结果:第一名AK,第二名和第三名过了AB_C,第四名过了ABD。第五名到第七名过了AD,第八名过了AB并hack成功4次,强行超越过了AD的第九名。第10名到第14名过了AB,第15名挤进来一个仅仅过了D的,然后第16名到第30名过了AB。第31名又挤进来一个仅仅过了D的。第32名过了AB。第33名过了B,然后第34名到第597名都是仅仅过A的……这就是B题太难的后果,把强行让后面一大堆人拼手速。然后最后有6个没过不论什么题目却hack成功几次的,再往后就是爆零的了。

    div1大概是聚集了一些精英。情况尚好:第一名AK,第二名到第七名过了AB_C,第八名过了B_C。第九名过了AB。第10名过了B_C。第11名过了AB,第12名过了AC,第13名到第18名过了AB,第19名和第20名仅仅过了C,第21名到第23名仅仅过了B,然后第24名到第69名里面除了第27名,第39名,第61名仅仅过了B。其它都是仅仅过了A,再后面就是爆零的了。

    著名选手uwi好像被我坑得不浅,竟然没过不论什么题目……结果掉到了BC总榜第4。然后我突然发现,BC总榜的第4名和第10名仅仅差15分,很挤……

    总之中的一个场BC就这样结束了。

    我的B_CE都是准备了非常久的题,然后暂时出A、翻译题面、造数据、写输入数据验证程序,也占用了我近一个星期内每天下午和晚上的时间,可是这场比赛仅仅进行了两小时。当然。多于两个小时的努力,才值得数百人赞赏两小时。

  • 相关阅读:
    IIS:日志代码分析
    SQL:查找被锁的表,以及锁表的SQL语句(重点推荐)
    SQL 2000/2005/2008 收缩日志方法
    SQL SERVER:使用工具观察与分析数据库中锁信息
    C# : Post 接收或发送XML
    WCF:没有终结点在侦听可以接受消息的*这通常是由于不正确的地址或者 SOAP操作导致的。
    SQL2005 遍历表插入
    SQL2005:SQL Server 2005还原数据库时出现“不能选择文件或文件组XXX_log用于此操作的解决办法
    C#:安装Windows服务,动态指定服务名及描述
    IE6与 javascript:void(0)
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7281336.html
Copyright © 2011-2022 走看看