首页 > 其他分享 >CF1109E、CF1109F

CF1109E、CF1109F

时间:2024-01-26 16:36:59浏览次数:28  
标签:可以 CF1109F CF1109E 最小值 端点 维护

CF1109E

很生气,写个唐诗题写了好久。

感觉是看错题导致的。

题面略。

考虑这个直接做不太可做。因为不保证有逆元。

但是它保证整除,考虑对模数分解成:

\[mod = \prod_{i = 1}^{cnt} p_i^{c_i} \]

这种形式,那么我们如果可以整除可以直接维护对于 \(p_i\) 的 \(c_i\) 不是吗?

所以我们考虑对数质因数分解,维护 \(10\) 个质因数的指数,余下的数可以用 exgcd 求逆元。

然后就做完了,代码很抽象,不知道为什么可以写到 3k。

链接

CF1109F

很经典的 LCT 数生成树,吗?

考虑维护左端点 \(l\) 的最大可以扩张到的右端点 \(r\),使得不存在环,不难使用 LCT 维护连通性问题。

那么就是数 \([l, r]\) 内有多少个区间 \([l, i]\) 满足区间的点在四连通性的情况下数一棵树。

考虑对于树这种特殊形态使用森林经典结论 \(V - E = 1\)。

那么我们就可以计算在左端点为 \(l\) 的情况下,每个点连了多少条边,注意到这个是对一个后缀的区间产生贡献。

那么我们可以使用线段树维护区间加来维护 \(V - E\),怎么数 $ = 1$ 呢?

根据 CF526F 的想法,借助最小值维护,发现 \(V - E = 1\) 的时候是左式最小值,可以维护最小值个数。

然后就做完了。

Implement

标签:可以,CF1109F,CF1109E,最小值,端点,维护
From: https://www.cnblogs.com/Custlo/p/17989650

相关文章