• 胡小兔的 PKUSC2018 游记


    Day 0

    一番纠结之后,我还是选择了 PKUSC (Penguin Kingdom University Summer Camp, 企鹅王国大学夏令营)!

    理由?扔硬币决定的理由如下:

    • PKU好啊
    • PKU放出初审名单时间比THU结束报名确认时间还晚……大概有点想去THU的这样一来就全去THU了?去PKU的人就少了?
    • THUWC的心理阴影 = =

    于是开心地通过了初审,在真·教练员的陪同下第四次来到了北京。

    北京好热啊!大连真是一个冬暖夏凉的好地方,以后到北京上学被热死可怎么办啊(你tm先考上再说吧)

    住在PKU西南的一个小酒店,一个人住标间,房间超级小(小得让我想到CTSC的珀丽酒店),过道连个箱子都放不下……一个床用来放箱子一个床用来放自己刚刚好2333

    放下箱子就去找SCaffrey学长辣!(企鹅学长对我能见到他心爱的学长这件事表示羡慕 =v= )然鹅SCaffrey在上课……遂一个人在PKU溜达。这是我第一次进北大,虽然在地图上鸟瞰觉得PKU比隔壁小,但是实际上似乎……并不小的样子?迷路好多次TAT

    在一个地下咖啡厅做了一个小时的 Jewish Problems 数学题,发现自己什么都不会做……

    在西北角我发现了鸭子!一只大鸭子和n只毛茸茸小鸭子在一块石头上休息……我走近鸭子们也不怕我( •̀∀•́ ),于是我就近找了个椅子坐着优哉游哉看鸭子——半个小时后我发现有蚂蚁正在我腿上往上爬……把蚂蚁抓下来后,我连忙离开了鸭子们,去找差不多下课了的学长了。

    24OI一代传说SCaffrey学长带着我看了一下机房的电脑……对用的是Windows而且有Vim没Emacs的电脑表示震惊……在蹭了学长两顿饭……农园二楼还是很可吃的……(可惜后来发现pkusc卡不能用来刷农园二楼)

    下午是报到,SCaffrey学长说他当年第一个去报到然后拿到了降60,于是我也去第一个报到了!要是也能降60就好了……

    Day1

    Day1上午是万恶的数学考试!怀揣着“数学考试影响不会很大吧”的自我洗脑心态,十道题我做了六道题的样子……其中有一道还是昨天做的 Jewish Problems 里的原题,据说前几年还考过这道题?

    考完数学觉得对于我这样的数学菜鸡来说做出这些已经很不容易了,于是开心地吃了午饭,到机房门口准备参加下午的机试。

    T1

    题意大概是:有N个人,每个人有各自的成绩(非负整数),选出K个人使他们成绩变成原来的两倍,问对于每个人,有多少种选法中他的排名和原先的排名一样。N记得是1e5还是1e6的样子?

    看起来是一道非常可做的题啊!对每个人分类讨论他自己选没选,没选的话要从选后不影响它排名的人中选K个,选了的话设排名减少了C,要从选后影响(乘二后的)它的人中选C个,再从不影响(乘二后的)它的人中选(K - 1 - C)个。

    于是我愉快地写完了。交上去WA好多。很久以后发现数据中会有人成绩是0。特判后终于AC。成功耽误1h。

    T2

    给一个长为N的序列,问随机打乱后最大前缀和的期望,N <= 20

    这啥玩意啊?稍微冷静想想后发现(O(n3^n))的做法我会,加上两个特判点能得60分……一直想想出正解……没想出来……

    T3

    啥?主斗地?斗地主?又双叒叕是斗地主?现在的OIer是不是只有我一个人不会斗地主了?

    由于看到九条可怜+斗地主感到过于害怕、且对斗地主一无所知、且连第一个包的性质都没有发现,遂爆零之。

    考完发现我好菜啊!开考2h之后啥都没干!似乎大众分是230……我比大众分少70……感觉要没约滚粗了!

    郁闷地吃完饭回去颓了。C君更新的实况还是要看的 = =

    Day2

    考试这两天睡得都莫名不错……

    今年不知为什么面试安排在第二场机试前面!我这种菜鸡也可以告别【没进面试】的绝望啦!

    面试分三场,在不同的房间,面试官是不同的人……

    第一场

    闲聊……面试官很和蔼,自我介绍我吹了一通牛逼,我说我会画画,然后面试官问我现在手里有没有能给她看的,我打开手机第一张图是《明明是我先来的》(THU vs PKU版),然后就不敢把手机给面试官了 ><

    第二场

    又是闲聊……面试官说:“刚才有个选手跟我说D类名额,什么是D类名额啊?”我解释了一下,然后面试官又问“那什么是C类名额啊?”迷啊……剩下的时间面试官都在和我谈“学竞赛的女生很少啊”“你觉不觉得吃力啊”“你觉得男生和女生思维上有什么不同啊”……我日常吹一波我辽宁三大老爷们的故事 =v=

    第三场

    还是闲聊……面试官问我“你之前怎么没有签过约啊?”“你要是这次没签到的话有什么打算啊?”问得我很惶恐。然后面试官又问我昨天考多少分,我说160,面试官说“哦……”。最后我着急地说:“老师,我很希望能够抓住这次宝贵的机会……”面试官:“哦,我也希望你能。”好慌啊……

    为什么都是闲聊啊?为什么感觉给我面试的老师没有几个是信息老师啊?听别的选手说还有问恋爱情况的……还有给你张纸让你画个画的……还有让英文自我介绍的……还有个别问学术问题的……

    吃完饭看时间还早,在PKU一处长椅上躺了一会。不知道睡没睡着,但是被蚊子咬了三个大包。

    然后就是决定命运的第二场机试了!

    T1

    (n)个点,第(i)个点向([L_i, i - 1])的所有点连长度为1的无向边,保证(L_i le i - 1),有(q)个询问,每次给出(l, r, x),问(x)([l, r])中各个节点的最短路之和。

    本来觉得应该挺可做的的吧?然后想了半天想不出来,只找到一个小性质——从(u)(v(v < u))的最短路上,u最多只向右走一次,而且这一步的终点是“所有向右一步能到达的点中(L)最小的”(下文提到时记作(R_i)

    有一个(O(n ^ 2))的暴力,没有想出来……又去看了看T2,毫无思路,回来下定决心把T1暴力写了,然后发现刚才想的一个思路就差一步,很快把这个70分暴力写出来了。做法大概是(f_{i, j})表示(i)(j)的最短路((i le j)),如果所有的边都是由右向左的单向边,(f_{i, j} = 1 + min_{k = L_i}^{i - 1} f_{k, j}),用一个单调栈维护后缀最小值,然后就可以(O(n^2))预处理这种情况下所有最短路了。然后再对每个点考虑第一步向右走了的最短路,就是(f_{i, j} = min (f_{i, j}, f_{R_i, j}))。然后就可以(O(1))回答询问了。

    然后想搞正解,没有思路……

    T2

    有一个字符串,由'0'、'1'、'?'组成。'?'可替换成'0'或'1'。称一个数(x)是字符串的border当且仅当字符串的x长度的前缀完全等于字符串x长度的后缀。问有哪些(x)经过对'?'的替换后可能成为border。

    写完T1暴力后T2也找到了一个性质。当(x le frac{n}{2})时似乎很可做,分别比较前面的1是不是对应到了后面的0、前面的0是不是对应到了后面的1即可,这个用FFT能做到(就是一个数组把是1的位置设成1,另一个把是0的位置设成1,卷积一下,某一位对应的不是0则说明有矛盾。之后再反过来做一遍)。

    (x > frac{n}{2})时,发现这个“前缀”与“后缀”有重叠,设(k = n - x),即前缀向右平移了(k)个字符成为了后缀。则位置(i)的字符与位置(i + k, i + 2 * k, …)的字符都要相等,发现只要((i - j) mod k = 0)就要满足i的0不能对应j的1、i的1不能对应j的0。于是FFT一边,对于每个(k)枚举(k)的倍数——((i - j)),即可判断是否合法。

    先用这个性质写了发暴力,交上去过了暴力点,然后放心大胆写正解,A啦!(A之后上了趟卫生间,走路姿势都变拽了……)

    T3

    计算几何?!

    写了半天,交上去,爆零。调不出来。再见。

    第二天也结束啦!似乎发挥得比第一天要好一点……虽然还是赶不上dalao们口中的“大众分”……

    Day3

    闭幕式了,非常忐忑,这天早上是唯一一天没一觉睡到六点的(也有可能是蚊子包太痒了)。

    听了讲题,有点心不在焉,很多地方没听明白,不知道什么时候能把题放出来我再研究研究。想起吉丽出的两道题我都爆零了,难受啊……(“有人得分的题就是区分度好的题”——吉丽)

    终于开始念名单了,忐忑地听了能有二三十个之后,居然念到我了!我当场大喊一声“卧槽!有我!”便挤出去拿约。

    约上写了好多字……真·教练员突然出现(我之前没有看到他……),告诉我这是无条件降60的意思。当时觉得心里的石头终于落了地了。NOI考前100还可以降一本,努力吧!

    总结?

    第一次签到约……结束了两千多年的封建帝制结束了半年来的“没学上”的忐忑不安……可以更专心地准备NOI了。

    听说THUSC特别可怕,辽宁全军覆没了啊……心疼学姐、高大佬、薛大佬他们……(反正他们这么强 NOI会Au的吧)

    加油加油咯!

  • 相关阅读:
    centos6.4下django1.11.3项目的部署
    inner join和left join 、right join 的区别?
    php中的对象赋值
    windows下Call to undefined function curl_init() error问题
    include和require的区别误区
    第一车网笔试题
    借贷宝笔试题
    40斤西瓜3人分,求分法
    走楼梯算法
    ip地址分类
  • 原文地址:https://www.cnblogs.com/RabbitHu/p/pkusc2018.html
Copyright © 2020-2023  润新知