树
文章平均质量分 65
abigben
这个作者很懒,什么都没留下…
展开
-
BJOI 2014 大融合
题意给 nnn 个点,一开始点与点之间没有边,mmm 次操作。1.加边 2.查询 x,yx,yx,y 所在连通块经过 x→yx \to yx→y 的路径数。数据保证加边 x,yx,yx,y 在不同连通块内。题解直接用 LCTLCTLCT 维护,然后查询 (x,y)(x,y)(x,y) 相当于把 x−yx - yx−y 这条边断掉,然后查询xxx 所在连通块点的的数量和 yyy 所在连通块点的数量,在把边连上。所以要用 LCTLCTLCT 维护子树内信息:记 xu[i]xu_[i]xu[i]原创 2022-02-08 22:41:06 · 642 阅读 · 0 评论 -
树上笛卡尔树(点权Kruskal重构树)
题意给一 kekeke 树,求所有路径 (x,y)(x,y)(x,y),满足 x→yx \to yx→y 中,编号最小为 xxx,最大为 yyy 的数量。n≤2×106n \leq 2 \times 10^6n≤2×106。题解考虑到最大最小值问题,我们想到用笛卡尔树,而树上的笛卡尔树形态则类似 KruskalKruskalKruskal 重构树(x,yx,yx,y 在重构树上的 LcaLcaLca 为原树上的路径 x→yx \to yx→y 上的最值)。至于构建:对于一 kekeke 从大到小原创 2021-11-16 16:30:09 · 280 阅读 · 1 评论 -
DTOJ #5328 找苹果
题目L 弟娃儿家里种了一棵苹果树,总共有 nnn 个结点,由 (n−1)\left(n-1\right)(n−1) 条边连接,每个结点上结有 aia_iai 个苹果,每个苹果都不相同。有一天他突发奇想,决定爬上去玩。他想在苹果树上找到一条环路,这样他就可以在这条环路上一直滑行,直到他父亲来喊他。然而众所周知,树上是没有环的,所以 L 弟娃儿的愿望根本无法实现,但 L 弟娃儿哪是一般人啊,他得知真相后十分愤怒,决定强行选择两个不同的苹果,在他们所属的结点上连上一条边,这样就会有环路了。L 弟娃儿于是得意的原创 2021-03-06 17:02:36 · 105 阅读 · 0 评论 -
DTOJ 5193来硬的
题目给定一个长度为 nnn 的数列 ,有 qqq 次询问,每次给定三个数 l,r,wl,r,wl,r,w,你要求出 ∑i=lr⌊wai⌋\sum_{i=l}^r \left\lfloor\dfrac{w}{a_i}\right\rfloor∑i=lr⌊aiw⌋ 的值。部分测试点强制在线。数据范围对于 20%20 \%20% 的数据,n≤100n \leq 100n≤100。对于另外 10%10 \%10% 的数据,n≤2000,W≤5000n \leq 2000,W \leq 500原创 2020-11-24 19:44:21 · 123 阅读 · 0 评论 -
DTO#4703 旅行
题目有一棵 nnn 个节点的树,给定其中 KKK 个节点,对所有的 iii,求从节点 iii 出发,经过这 KKK 个节点的最短路程.数据范围子任务一 (101010 pts),K≤n≤10K\le n\le 10K≤n≤10.子任务二 (303030 pts),K≤n≤103K\le n\le 10^3K≤n≤103.子任务三 (606060 pts),K≤n≤5×105K\le n\le 5\times 10^5K≤n≤5×105.对所有的数据,1≤w≤1061\le w\le 10^61≤原创 2020-11-02 21:00:42 · 86 阅读 · 0 评论 -
DTOJ#5127 字符串
题面你有两个字符串可重集合 S,TS, TS,T,初始时为空。你要维护这两个字符串集合,支持加入和删除字符串,查询这两个集合的最大权匹配。定义集合 S,TS, TS,T 的一组匹配方案为,有若干个二元组 (si,ti)(s_i, t_i)(si,ti),其中 si∈S,ti∈T,S,Ts_i ∈ S, t_i ∈ T,S, Tsi∈S,ti∈T,S,T 中的每个元素最多出现在一个二元组中。定义集合 S,TS, TS,T 一组匹配方案的权值为,$ \sum lcp(s_i, t_i)$,其中原创 2020-10-30 15:56:27 · 95 阅读 · 0 评论 -
#DTOJ 3131采蘑菇
题面A君住在魔法森林里,魔法森林可以看做有一棵 nnn 个结点的树,结点从 1−n1-n1−n 编号。树中的每个结点都生长着蘑菇。蘑菇有许多不同的种类,但同一个结点上的蘑菇都是同一种类,更具体地, iii 号结点上生长着种类 cic_ici的蘑菇。现在A君打算出去采蘑菇,但他不知道哪里的蘑菇更好,因此他选定起点 sss 后会等概率随机选择树中的某个结点t作为终点,之后从 sss 沿着 (s,t)(s,t)(s,t) 间的最短路径走到 ttt 。并且A君会采摘途中所经过的所有结点上的蘑菇。现在A君想知原创 2020-10-28 20:06:11 · 130 阅读 · 0 评论