thupc2022初赛游寄

寄/jy

Posted by ShanLunjiaJian's Blog on March 14, 2022

和我校的王卷王(id yixiuge777),以及dysy初中部的do_while_true组队,队名是 切卷对偶定理,英文则要更帅一些,是 oi-whk duailty theorem owdt。

过了ABDFGIJK共8题,排在69名。看起来是包含sd现役oi选手的rk5,前面四个队应该都进决赛了,守门了啊/ll。前面四个是唐队长(青蛙。),切队长(差不多得了),核仁(一碗鸡汤),王好强(LYSZ-01)。


开题。王卷王正着开,dwt从中间开,我从后往前。

然后王卷王觉得A很可做,就卡了一会,发现搞不定。我看了看后面似乎没有能做的,dwt觉得E可能可做,I一看就是网络流,然后dwt就开始写I。

然后I就飞了。我看了一眼D,感觉勉强能做,11:28过了。

然后dwt的I就写完了,31开始冲,然后就wa飞了。王卷王表示这个A过于复杂,就交接给我了,王卷王去写K的模拟。然后我就胡乱猜了几个结论,得到了那个优化建图kru的做法。

12:02的时候王卷王就一发冲了,然后ce了,非常牛逼啊!12:03我把A冲了。12:04王卷王又ce了,非常牛逼啊!

然后12:24的时候王卷王终于过了,并且开始写J。此时我在看B而dwt还在看I。这个B看起来也很可做,但是样例真的水(

12:45的时候,在两发之后终于把B过了。然后我们就陷入了僵局。dwt把I扔给了我,然后我就开始考虑I,然后继续考虑网络流就得到了做法,虽然这用了一年。1:42的时候王卷王过了J,51我过了I。

然后就完全僵住了。dwt瞬间给出了E的做法并开始写,我负责跟榜,冲了G和F两个诈骗题,王卷王摸了。F在最后10min过了,然后dwt的E到最后也没有调出来,8题滚了。


主要输出还是靠王卷王,毕竟两个最难写的都是王卷王冲的。

这个I实在是大失误。如果早1h接盘,可能dwt就过E了/ll。如果把I交接给dwt,去冲一波C,我们可能也就过掉了/ll。但是没有如果,我们还是输麻了。不过我相信我的比赛策略是正确的,只是这波大家运气不太好罢了,毕竟dwt已经写了2h的E啊,然后赛后发现问题出的也不是很大。


写一下我们队赛时的做法。懒得查题目名了(

A. 最小公倍树

考虑枚举gcd,然后每个数如果连这个gcd,只可能连到\([l,r]\)内这个gcd的最小倍数,把这些边加上跑kru即可。论文哥说这是因为mst可合并,也就是说两个子图(可以相交)的并的mst,只需要考虑这两个子图的mst的边。复杂度\(O(n\log^2 n)\)。

B. 骰子旅行

根据期望的线性性拆开每个点的贡献,然后考虑一个点\(u\)的贡献,也就是枚举它被走到的一轮,算出\(s\)在这一轮走到\(u\)的概率,然后枚举\(u\)走到了哪个点\(v\),算出\(v\)在某一轮再走回来(并且中间不经过\(u\))的概率,乘上\(v\)都加起来就得到答案。只需要求出\(dp(i,j,k)\)表示从\(k\)出发,走\(j\)条边,途中不经过\(i\),最后到达\(i\)的概率,以及\(g(i,j)\)表示从\(s\)出发走\(i\)条边到达\(j\)的概率。复杂度\(O(n^4)\)。

D. 忘了叫啥

把每个环找出来,然后按照样例模拟。

E. 搬砖

dwt做法是对\(d\)根号分治,如果\(d\)至少是根号那么可以爆力跳,如果\(d\)不超过根号,那么\(d\)的减少只会发生根号次,找到下一次没有搬完任何砖的时间和下一次搬了一个会减少\(d\)的砖的时间,看哪个先发生。后者可以set.lower_bound,前者按\(d\)大小值域分块并维护每一块是否有砖,根据\(d\)和膜\(d\)的余数一共有\(O(n)\)种分块,然后在块上lower_bound。每一块只会从没有变成有一次,而插入之后可以查一下前驱后继找到这些变化。复杂度\(O(n\sqrt{n}\log n)\)。可惜没调出来。

F. 喵喵花圃

猫猫!

考虑设相邻两个点的距离应该是\(w=\frac{c}{k}\),那么我们随便钦定一个点,从这个点出发扫\(w\)的距离。如果扫描线过程中没有一个点撞到多边形的顶点上,那么每个点可以视作分别在直线上,横纵坐标都是时间(也就是第一个点扫出来的距离)的一次函数,于是用叉积的算法,面积就是二次函数,可以直接算出最小值。对于一般情况,我们求出下一次发生 一个点撞到多边形的顶点上 的时间,然后就变成二次函数区间最小值,看起来还是初中数学内容。复杂度\(O(nk)\)。

橘长做法是百分法,也就是把多边形分成100份,从这些点出发跑一遍,取其中最优的几个点周围的区域递归下去(也许是取一个)。反正它过了。这个好像是nealchen在sdsc讲fjoi的时候普及给sd选手的。

G. 挑战

直接dp。骗了一手啊(

I. 分组

容易想到最小割。考虑不要光给人建一个点,给每个组也建一个点,让人来限制组,然后那个 喜欢 是人和组之间的代价,你发现恰好可以表示,于是dinic即可。复杂度玄学。

J. 王卷王无敌

K. 王卷王无敌

王卷王写的,我不会。但是王卷王好像没有发thupc游记(


决赛。很摆。

A. 简单的卡牌游戏

搜。

B. pmrmscxip

Ynoi。不会。

C. 拯救还是毁灭

D. 高性能计算导论集群登录密码复杂性策略

E. 倍增路径

直接设\(dp(i,j,k)\)表示从\(s\)走到\(i\),在第\(j\)段,当前和膜\(j+1\)是\(k\),前面\(a\vert p\vert\)之和的最大值。复杂度\(O(n^4)\)。

F. riapq

看起来可能是大常数根号或者小常数根号\(\log\)或者根下\(\log\)。

考虑根号重构。那么查询就很容易扫描线BiT做到根号\(\log\)了,问题是怎么快速重构。

G. 匹配

直接拿个堆扩展。

H. rsraogps

I. 王卷王无敌

M. 想象

请不要妄加想象。