摘要: 传送门 首先考虑如何算出答案,考虑枚举中间那个点,显然每个点作为中间的点的次数为入度乘出度 所以答案就是每个点的入度乘出度之和 然后每个点开一个 $vector$ 维护从它出去的点数,每次修改的时候直接暴力改出度然后暴力删边并加入新边 这样可以证明复杂度是对的,这里有两种证明,其中第二种是来自官方题 阅读全文
posted @ 2019-09-24 20:42 LLTYYC 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 传送门 注意到只要考虑祖先和后代之间的贡献 发现对于一个节点,他和所有祖先最多产生 $log$ 个不同的 $gcd$ 所以每个节点开一个 $vector$ 维护祖先到自己所有不同的 $gcd$ 和这个 $gcd$ 的出现次数即可 之所以可以用 $vector$ 而不用 $set$ 是因为每个节点越祖 阅读全文
posted @ 2019-09-24 19:25 LLTYYC 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 传送门 垃圾翻译毁一生怎么办 题目看错直接 $GG$ 首先所有 $a_i$ 重复出现的人全都可以加入 考虑剩下的人发现 $a$ 必须是初始那些人的子集才能加入(证明显然),设当前考虑的人为 $x$ 则集合存在 $y$ ,使得 $a_y>a_x$ 并且 $a_y \text{&} a_x=a_x$ 证 阅读全文
posted @ 2019-09-24 19:16 LLTYYC 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 传送门 显然答案等于初始时的答案减去最多可以减少的代价 考虑在某个路段 $[l,l+1]$ 用一次加速的影响,设 $r$ 为 $l$ 往右(不包括 $l$)第一个车要等人的站,那么所有下车的站在 $[l+1,r]$ 之间的人都可以少一秒 设第 $i$ 个站下车 $leav[i]$ 人,那么贡献即为 阅读全文
posted @ 2019-09-24 19:04 LLTYYC 阅读(159) 评论(0) 推荐(0) 编辑