PKUSC2023 游记

发布时间 2023-11-05 20:00:05作者: Tx_Lcy

\(\rm Day\ -∞\)

能去 \(\rm pkusc\) 了,很好,假期 \(+4\) 天。

\(\rm Day\ 0\)

在火车上颓废,看见远处出现了 \(\Large \sum\),立马切换界面开始偷学,于是:

还写了一篇题解。

晚上入住酒店,室友是 \(π\),肯德基一不小心点了 \(80\) 多块,吃的撑死。

吃完饭后一直在教 \(\rm cyf\) 打雀,和了好几把清一色,幸好最后一把四麻连放三铳才不至于 \(rp\) 掉光。

\(\rm Day\ 1\)

早上 \(7:00\) 才起,发现这里的早饭一言难尽,随便乱吃了点就出发了。

进北大,听了没有意思的开幕式就去试机,没想到我居然坐在 \(\rm cyf\) 旁边。

发现试机题是一个没有意思的傻逼矩乘(似乎还是 \(\rm pkusc2021\ Day1T1\)),花了 \(\rm eps\) 的时间过掉了,然后开始颓废。

中饭才花了 \(19\) 块,感觉饭卡钱要用不完了。

下午 \(12:30\) 就到了机房(\(13:00\))开考,发现试机写的码没有被删掉,于是开始疯狂打板子,大概在考试前写完了点双,边双,缩点,\(\rm dinic\)\(\rm exgcd\)\(\rm excrt\),线性基等板子。

开考,很快啊,这个 \(\rm T1\) 我就不会了。

大致题意:

\(\rm T1\)

  • 给你两个长度为 \(n\) 的字符串 \(s,t\)\(\forall i\),求出把 \(s_i\) 修改为 \(t_i\)\(s\) 的最长 \(\rm border\) 长度。

  • \(\rm 91pts\)\(n \le 10^5\)

  • \(\rm 100pts\)\(n \le 2 \times 10^6\)?(记不清了,反正是 \(10^6\) 级别的)

\(\rm T2\)

  • \(n\) 个人在玩狼人杀,有一只狼的编号为 \(m\),还有一个预言家和 \(n-2\) 个村民。预言家的编号不确定,每个人当预言家的概率都是均等的。每次预言家会询问一个区间 \([l,r]\),上帝会告诉他编号在 \([l,r]\) 内的人是否存在狼,每个区间每次被问到的概率是均等的,问期望几次问出狼的编号。

  • \(n \le 150\)

\(\rm T3\)

  • 有一颗 \(n\) 个节点的树,每个节点有 \(0/1\) 权值。初始每个点为 \(1\) 的概率为 \(a_i\)。当这棵树每个节点的值都确定后每个点的值都会变成它和它的儿子值的众数,问根节点为 \(1\) 的概率。

  • 还有 \(q\) 单点修改一个点为 \(1\) 的概率。

  • \(n \le 3 \times 10^5\)(大约这个范围?有点忘了),\(q \le 5 \times 10^4\)

一直在想 \(\rm T1\),前 \(1h\) 想出了很多假做法,就在 \(14:00\) 的时候,\(\rm cyf\) 突然大吼一声:我草,过了!我非常害怕。

继续撕烤,无果,开 \(\rm T2\)

迅速胡了一个 \(\mathcal O(n^4)\) 的区间 \(\rm DP\),需要前缀和优化,还有一些顶真分讨,感觉很假,不想写。

随后开 \(\rm T3\),迅速写了一个 \(\mathcal O(q \sum dep_i)\) 的暴力 \(\rm DP\),获得了 \(12\) 分的高分,发现有个性质可以直接暴力修改来做,但是我没写,我想写完 \(\rm T1\) 后再写(埋下伏笔)。

随后在 \(\rm T1T2\) 之间轮换想,慢慢码出了 \(\rm T2\)\(\rm DP\),但是像依托答辩一样调不出来,遂弃之。

现在我只有 \(\rm 54+0+12=66\) 分,感觉非常保单。

只剩最后 \(1h\) 了,心态炸了,又回去想 \(\rm T1\),把题意转化成了后缀的问题,突然间就会了,对于每个 \(i\),如果 \(s_i=t_i\),直接把原串的答案输出,若 \(s_i \neq t_i\),则所有 \(j \le i\) 的后缀 \(j\) 均变得不合法,只剩下 \(j>i\) 的后缀合法,可以直接后缀 \(\max\)

然后考虑如何计算新增的 \(\rm border\),发现合法新增字符只有 \(\mathcal O(n)\) 级别,可以哈希直接来。

迅速码了一个树状数组维护哈希,一交,只过了 \(n \le 5000\) 的点。

发现有个地方复杂度写假了,改改改,又交,过了 \(n \le 10^5\) 的点,获得了 \(91\) 分的高分。

此时还有 \(20 \min\),优势在我,开始疯狂卡常,把 \(n \le 10^5\) 的点从 \(\rm 370\ ms\) 卡到了 \(\rm 80\ ms\),但是最后一个包始终过不了,只剩下最后几分钟了,我决定弃疗。

结束后突然想起 \(\rm T3\) 暴力忘记打了,痛失好多分。

最终 \(91+0+12=103\),被吊打了。

出来问 \(\rm cyf\) \(\rm T1\) 怎么做,结果他 \(n^2\) 草过去了???哪怕造个全 \(a\) 的点他都寄了,愤怒。

发现 \(\rm jzh\)\(n^2\) 草了 \(91\) 分,这下我小丑了,这就是北大的数据吗。

晚上和 \(\rm syf\) 开了若干把雀,连续放铳,预示 \(rp\) 叠满(确信)。

\(\rm Day\ 2\)

上午听了没有意思的讲座,主要听讲课人吹了一通北大计算机系,其中有一张表格令我影响深刻,好像是拔尖计划 \(2.0\) 基地数量,其中北大的基地是最多的,三年 \(7+6+6=19\) 个,其中讲课人特地说了有些学校只有前面几年评了几个,后面几年几乎没有(清华 \(6+1+1=8\))。

中饭吃了十多块,感觉完全刷不完 \(102\) 块,准备晚上疯狂买饮料。

到考场还有十多分钟,写了行列式板子。

开考了,\(\rm T1\)\(\rm DS\)\(\rm T2\) 看起来很乱搞,\(\rm T3\) 是阴间数学题。

大致题意:

\(\rm T1\)

  • 有很多人在排队,初始没有人,有三种操作,共有 \(n\) 个操作。

  • \(1\ x\):新增一个人,编号为当前队内人数编号 \(+1\),排在 \(x\) 后面(\(x=0\) 就是排在开头)

  • \(2\ x\ y\):把第 \(x\) 个人改成排在第 \(y\) 个人后面,然后从头开始重新执行所有操作。

  • \(3\ x\):查询 \(x\) 在队伍从前往后数第几个。

  • \(n \le 3 \times 10^5\)

\(\rm T2\)

  • 多组数据。给你 \(l\) 组物品,每组物品有 \(k_i\) 个,都有两个权值 \(a_i\)\(b_i\),每组物品需要恰好选一个。有 \(q\) 组询问,每次询问给你 \(x,y\),求一种选数方案使 \((x+\sum a_i)(y+\sum b_i)\) 最大,允许你构造出来的方案与标准方案相差 \(\le 2500\)

  • \(\sum l \le 5 \times 10^4\)\(0<a_i,b_i \le 100\)\(x,y \le 10^7\)\(q,k_i \le 10\)\(T \le 100\),其中 \(a_i,b_i,x,y\) 是实数,保证 \(a_i,b_i\) 小数点后最多两位。

\(\rm T3\)

  • 给你五组 \((a_ix+(x \bmod b_i+1) \times (x^i \bmod [\sqrt x]))) \bmod P=c_i\) 的柿子,问你 \(x\) 等于多少,多组询问,保证有且只有一个解。

  • \(T \le 50\)\(P,a_i,b_i,c_i \le 10^{18}\)

感觉 \(\rm T3\) 不可做,倒是有一个 \(b_i=1,x \le 10^{12}\) 可以试试,似乎可以枚举 \(\sqrt x\)。不过感觉不太会。

还是 \(\rm T1\) 比较好做,迅速秒掉了 \(2\) 操作 \(\le 200\) 次和没有 \(2\) 操作的特殊性质,根据观察发现如果没有 \(2\) 操作,最终两个人的相对位置是确定的,我只需要把最终序列搞出来,然后统计一下他前面有几个人出现过即可,\(2\) 操作 \(\le 200\) 次也可以这么做,每次 \(2\) 操作暴力重构一下。

于是获得了 \(45\) 分的高分。

然后去开了 \(\rm T2\),感觉是乱搞题,先写了一个随机,发现很烂,只能跑 \(15\) 分,后来发现 \(n \le 30\)\(a_i,b_i\) 是整数可以背包,于是获得了 \(35\) 分的高分。

接下来瞪了一会 \(\rm T3\),发现不会,回去看 \(\rm T1\)

注意到了一个特殊性质:数据随机。这个性质有 \(20\) 分,似乎只要把这个性质过了总分就三位数了,想了一会,把问题放到了树上。

现在问题等价于给你每个节点的父亲,然后你需要统计这个点的编号比它大的兄弟的子树 \(siz\) 和,然后从这个点跳向它的父亲,继续统计,并且有换父亲操作。

撕烤了一下,感觉数据全随树高期望是 \(\log\),每个点的儿子也不会很多,暴力修改看起来很对,于是写了一下,过了。

之后发现 \(\rm T2\) \(a_i+b_i=100\) 的性质似乎也可以直接背包,不过大概 \(5e8\),难跑过去,写了一下,卡了一万年常,卡不进去。

总分:\(65+35+0=100\)。感动,两天分数都是三位数。

出来问 \(\rm cyf\) \(\rm T2\) \(a_i+b_i=100\) 怎么做,他说只要根据 \(x\)\(y\) 的大小关系决定全选 \(a_i\) 最大的或 \(b_i\) 最大的即可,想了想好像是这么回事,又白给了。

两天总分 \(91+0+12+65+35+0=203\),感觉可能有奖,不过还是被吊打了。

优异了,这个奖真的水。