WC2021游记

Day -1 复习

刷模板刷模板刷模板……

水了一堆SAM和DS的题,重点复习了一下数论(机械键盘真好听(雾))

有一种强烈的预感要考数论

Day 1 考试

考前

又不能带吃的,烦

排队的时候看到了一堆大佬,默默膜一下增加rp

进考场周围围了一圈大佬的我瑟瑟发抖

感觉上了个厕所就开题了,密码是“XinNianKuaiLe”(来自组委会的rp++)

一看都是传统题,缓了口气,然后嘛……

结果还是三道毒瘤,于是上来就把显然的T3暴力先打了


T1

先搞题意简洁的T1,在草稿纸上画了画,推出一个结论:如果A到B有括号路径,那么A和B可以合并起来当一个点用,最后每个连通块内任意两点间都有合法路径

很naive地写了20行并查集然后样例挂了

又画了一下发现合并后会有连锁反应,所以写了个启发式合并维护一个点的入边集合(一个颜色只存一条边),然后再拿个队列记录更新操作

然后手造大样例T了

冷静分析了一下发现我合并复杂度是\(max\{sz\}\),于是搞了个链表把复杂度优化成了\(min\{sz\}\)


T2

看了眼数据范围发现没\(?\)的有50分,果断写了个大模拟

然后想了个很暴力的\(dp\)\(dp\ n\)次,设\(f[i][j]\)表示当前在第\(i\)个字符,答案为\(j\)的情况数,转移简单推一推,遇到括号的话就枚举括号表达式的答案,然后和其他情况一样处理

两部分加起来应该有70

一看代码有5k


T3

一顿乱推发现就是要求\(Afib_i+Bfib_{i+1}\equiv 0(mod\ m)\)

于是\(m\)为质数的分就到手了,预处理\(\frac{fib_i}{fib_i+1}\)即可(由于这个东西有循环节的,所以答案不会很大,预处理的时候到\(fib_i=0\)就可以break了)

然后另外20分就是\(excrt\)合并一下,结果考场上没时间,没调出来


赛后

高二的哥哥姐姐貌似都没做出T1,有点慌

T2括号嵌套好像锅了\((((A)))\)这种情况会\(WA\)

T3白给20分,第一个暴力部分分没加上去

估分100+70(?)+20


成绩

和估分一模一样(雾

这次算是正常发挥吧,唯一的问题在于最后十分钟心态有些慌乱,白给了20分,果然考试慌不得QAQ

posted @ 2021-07-01 15:12  oisdoaiu  阅读(55)  评论(0编辑  收藏  举报