CSP-S模拟15

A. 网格图

我们使用并查集维护联通块,对所有 \(k* k\) 矩阵,我们考虑快速处理,每回我们删除矩阵里面的点,然后统计边上的联通块大小,注意去重

warning :

unordered_map clear() 多次调用时候,即使第一次已经将map清空,之后清空仍然是 \(O(siz)\)的,\(siz\)是map清空前的大小

B.保险箱

我们考虑推导出这个群的一些性质:
设 这个群为 \((S, +)\)
设题目中所给的一定不存在元素为 \(a_i\), 一定存在元素为 \(b\)
这是个群:
1.封闭性:题目中条件
2.结合律:由模意义下加法结合律可知
3.单位元:0,因为\(n * b \equiv 0\),所以存在
4.逆元:若 \(a \in S\), 则\(a * (n - 1) \in S\)\(a + (n - 1) * a \equiv 0\),所以逆元$(n - 1) * a $为 \(-a\),存在
特殊性质:
1:
1.\(a \in S, b \in S \iff gcd(a, b) \in S\)
由贝祖定理可得
2.\(a \in S \iff gcd(a, n) \in S\)
同理
3. \((S, +)\) 是循环群
如果存在两个极小元 $ a, b \in S$,则 \(gcd(a, b) \in S\)
\(gcd(a, b) \leq a, b\)\(gcd(a, b)\)是另一个极小元,与题设不符
于是我们可以设生成元为 \(g\)
接下来即可利用性质做题:我们考虑一个bf思路:
每次找 \(b\)的约数\(d\),若所有的方程
\(dx \equiv a_i\)
\(ax + by = a_i\)
无解,则合法
我们推广发现,任意模意义下加法群均满足这个性质
哦对了,我们优化暴力即可

C

题意真TM恶心,从 8:50 码到10:10,调调调,学长提醒我们注意题意,并且加了一个一句话题意,然后我TM发现读假了??!!!
好吧,心态有点小爆炸,不过仔细思考一下真正的题意好像是比我的fake题意要弱的,这不就好办了吗,开码
等到11:15的时候突然发现我拿来对拍的暴力是错的?然后光速测了一发大样例发现挂了(赛后发现只是long long没开全)。woc!这TM真退役了,冷静下来之后用3min写了t4暴力一遍过样例,然后改T3暴力,写树剖,不过这时候就剩8min了感觉没救了,最后也没交,100+0+0+20直接退役。
后来开了 long long卡了卡内存就过了,离大谱

D

推个柿子,发现是最大字段和-总和,不想写了

posted @ 2022-09-30 20:22  CDsidi  阅读(35)  评论(2编辑  收藏  举报