T1怎么自然溢出被卡了啊T2怎么看不清题目要求啊T3怎么都记得欧拉定理啊T4怎么暴力全机房就我一个写挂了啊……
赛时
T1 题目上说是背包,但是数据范围给到了 \(2^{18000}\),所以一眼是结论题。
题目上 \(a_i\) 全部互质的条件很独特,所以我猜答案应该和 \(B\) 的因子,即 \(b_i\) 的存在性有关。
开始玩第一个样例,发现第一个样例没有选的数字就是在 \(b\) 中出现的那个。
开始玩第三个样例,发现跟没有一样。
后面几个样例不好玩,所以用 2min 写了一下,发现直接过了那两个 \(\le 10^{18}\) 样例。
大惊,想着怎么拓展到题目要求的数据范围,发现可以用哈希。(忘了前几天说过最近要考一次高精度)
哎,我对 \(10^{13}+7\) 取模怎么挂了?还是自然溢出吧(忘了前天刚刚讲过怎么卡自然溢出)
自然溢出不会写逆元,但是发现可以用前缀后缀积维护避免除法。
然后过掉了所有样例,此时时间刚刚 9:36。
开始看 T2,没看懂。
继续看,发现根本不理解题目要求,如果选一个点就可以确定一颗子树的话,那我下一次该往哪里选?
继续读题,发现更不懂了,觉得这题估计顺序放错了,所以胡了个过不了样例的贪心交了。
T3 发现很像线段树,第二个条件很好维护,对于第一个条件,有公式 \(\sum_{i=1}^{n}a_i^2=(\sum_{i=1}^na_i)^2-2(\cdots)\),然后意识到左式根本没有恒等变形。
在线段树的结构上是二叉结构,所以考虑怎么从子节点转移过来。我尝试把每个区间的答案拆开,去维护一个分数类和分母的逆元,但是发现这么做还不如直接维护和。
发现已经 11:30 了,赶紧先写了个暴力。
然后去看特殊性质,第一个性质感觉没有什么别的解法,第二个性质推着推着又推回去了。
剩的时间不多了,就去把 T4 的暴力写了然后就睡了。
赛后
T1得了 90pts,然后发现自然溢出被卡了。
T2 符合预期,0pts。
T3 看见有人 30pts,发现第一个特殊性质就是个差分处理,感觉有点亏。但是再往下看发现还需要用到欧拉定理 \(a^m\equiv a^{\phi(m)}\),题目上 \(m\) 是质数所以等价于 \(a^m\equiv a^{m-1}\)。
想到自己完全不记得学过欧拉定理,这 10pts 也就不算亏了。
T4 暴力挂了,吃完饭回来静态差错 20min 完全不知道挂在了哪里。
这场考试至少不是倒数了。除了 T4,其他题目我放在上面的时间很均匀,至少不像前两天一样怼着 T1/T2 死磕然后垫底。
比较符合正规考试的节奏。