牛客多校比赛记录
我很菜,而且很穷,喜欢白嫖,所以搞到了退役选手 @wlzhouzhuan 的号,id 是 Alan233。
队友是 @Lynkcat 和 @RinkaSnow ,队名是 瓦来猪爪是二次元。
第一场还没有号,没打。
zpf 润了,因此只有我和 lyc 打。
开局我先看 E,然后发现题目看不大懂(?此时有人过了 G,过去一看发现是典题,直接秒了,此时 \(9\) 分钟。
回来看懂了 E,推两下式子然后发现需要二项式反演一下,贺个板子就直接上了,\(25\) 分钟过了。
\(29\) 分钟,lyc 过了另一个签到题 K。
我开 D 发现是 sb 题,直接二分然后判断负环即可,lyc J 发现是三分 sb 题。
发现负环不会判,想了一下,建虚点即可。
两个实数题,我和 lyc 都自闭了,结果发现找负环需要取 \(\log\) 不然精度爆炸。
两个人一个吃了\(5\) 发,一个吃了 \(7\) 发才过。
我去 L,lyc 在 \(134\) 分钟是过了 H,然后又过了 I 和 C。
L 不是很难,但我写了很久才过,被 Froggy 怒斥为 sb 了 /kk。
lyc 最后冲了阿拉丁题 F。
最后剩下 AB,rk 24,感觉我就是全程摆烂。
挑几个有意思的题记录一下
E \(\color{green}\bigstar\)
已知一个数 \(n\),对于所有 \(0\le i\le n\),求有多少个长度为 \(n\) 的小写字母字符串满足其中含有 \(i\) 个字串
bit
。\(n\le 10^6\)。
假设 \(f_i\) 表示至少 \(i\) 个字串是 bit
,这个可以直接用插板法简单计算,然后答案就是二项式反演一下即可。
L \(\color{blue}\bigstar\)
有 \(n\) 个世界,每个世界都有 \(m\) 个点和一些有向边,初始在 \(1\) 号点,定义一个区间 \([l,r]\) 是合法的,需要满足遍历 \(l...r\) 的每个世界,每个世界可以走一条有向边或者不走,然后被传送到下一个世界的对应节点,遍历完后可以走到 \(m\),求最小的合法区间。
\(n\le 10^4,m\le 2\times 10^3\),边数之和 \(\le 10^6\)。
考虑双指针,那么需要支持在后面加边,在前面删边。
考虑把区间里所有世界的边全部放在一个图上,边权就是所在的世界编号,那么合法的区间就是 \(1\) 到 \(m\) 存在一条边权递增的路径。
考虑这个东西咋做,设 \(f_i\) 表示当前图中,走到 \(i\) 号点,第一条边的边权最大是多少,这样加入,删除都变得极为简单,直接维护即可。
这场更加摆烂,被 lyc 带飞,还是只有我们两个人。
开局看有人一分钟过了 I,然后就去冲,结果一点都不会,过了一会儿,发现那发提交被 ban 掉了。。。
心态爆炸,lyc 此时过了两个签到题,我开 J,发现题意很 hard,理解了个半天 lyc 说他去写。
开 F 发现是建圆方树然后直接判断即可,sb 牛客内存开错,我调了很久很久都是 MLE,申诉了一下然后过了。
求点双到底要不要判父亲啊。
最后开 D,想了很久一点都不会,然后直接摆烂了。
最后过了 \(6\) 个题,rk 20。
F \(\clo\)