杂项
文章平均质量分 67
仰望星空的蚂蚁
梁东饪猛虎,汴水烹蛟龙
展开
-
【学习笔记】回滚莫队 (CF620F Xors on Segments)
回滚莫队的精髓在于撤销。本题要记录一个子树最小值,所以要用 vector 存路径,再倒序还原回去。 然后用 lastanslastanslastans 记录上次询问答案。时间复杂度 O((n+m)nlogn)O((n+m)\sqrt{n}logn)O((n+m)nlogn) 。...原创 2021-08-21 18:15:01 · 255 阅读 · 0 评论 -
【浅谈】exgcd 中的整数溢出
首先我们知道, exgcd 中求得 x,y 的绝对值满足 : |x| <=b , |y| <= a 。同时 x, y 在数据大时远小于 a, b 规模。例一:CF1244C The Football Season首先看数据范围,a, b<=1e5, p<=1e17 , 来看错误的溢出写法:x=(x*(p/r)%(b/r)+(b/r))%(b/r)y=(c-a*x)/b当 r=1 ,p=1e17 时, x*(p/r) 直接爆 longlong 了。正确写法:ll mo=原创 2021-08-19 18:12:19 · 196 阅读 · 2 评论 -
【水向】Atcoder杂题
[AGC005C] Tree Restoring已经意识到了我很可能做不出来这道题。。。选择路径最短的节点作为根节点。 cuc_ucu 表示整棵树的深度。注意到这样一个性质:从 xxx 出发的最长路径 x−>yx->yx−>y ,yyy 一定是树的直径的一个端点。我们同时知道, fmax(x)f_{max}(x)fmax(x) 一定是直径的某一端点对于 f:A−>Bf : A -> Bf:A−>B,对于 x∈[1,n]x \in [1,n]x∈[1,n] ,原创 2021-04-30 12:34:08 · 135 阅读 · 0 评论 -
【不定期更新】图论100问
最大半连通子图首先考虑一个 scc ,显然,scc 中任意两个节点满足半联通。缩点后,原图就变成一个 DAG。下证半联通子图的必要条件是存在原点 u,使得 u 到子图中任意一个其他节点都存在有向路径。假设对于 u,v,u 不能到 v 而 v 不能到 u,那么将 v 作为新的节点,继续重复上述过程,一定有一个节点 w ,满足到子图中任意一个其他节点都存在有向路径。得证。而且容易发现任意半联通子图都有且仅有一个源点 w。这启示我们用拓扑排序来解决这个问题。设 f_x 表示以 x 为根,满足半联通的原创 2021-04-30 12:33:37 · 284 阅读 · 0 评论