dsu on tree
_beginend
这个作者很懒,什么都没留下…
展开
-
bzoj 3681: Arietta 主席树优化建图+网络流+dsu on tree
题意 所有的 n 个音符形成一棵由音符 C ( 1 号节点) 构成的有根树,每一个音符有一个音高 Hi 。 Arietta 有 m 个力度,第 i 个力度能弹出 Di 节点的子树中,音高在 [Li,Ri] 中的任意一个音符。 为了乐曲的和谐,Arietta 最多会弹奏第 i 个力度 Ti 次。 Arietta 想知道她最多能弹出多少个音符。 1 ≤ n, m ≤ 10000 。对于所有数...原创 2017-06-19 21:18:22 · 743 阅读 · 3 评论 -
bzoj 4756: [Usaco2017 Jan]Promotion Counting dsu on tree+树状数组
题意n只奶牛构成了一个树形的公司,每个奶牛有一个能力值pi,1号奶牛为树根。 问对于每个奶牛来说,它的子树中有几个能力值比它大的。 n<=100000分析直接上就好了。。。代码#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std原创 2017-07-16 11:00:30 · 321 阅读 · 0 评论 -
Codechef TREEPATH 线段树优化dp+dsu on tree
题意 给定一棵无根树,每个节点上都写了一个整数。 你的任务就是统计有多少种方法可以将这棵树分解为若干条路径,使得每个节点恰好属于一条路径,而且每条路径的节点上的数字之和非负。 1≤每组数据中的N之和≤1051 ≤ 每组数据中的 N 之和 ≤ 10^5 1≤N≤105 1 ≤ N ≤ 10^5 −104≤Ai≤104 −10^4 ≤ Ai ≤ 10^4 分析 首先来考虑暴力要怎么打原创 2018-01-18 15:18:25 · 545 阅读 · 0 评论 -
Codeforces 600E Lomsat gelral [dsu on tree(树上启发式合并)]
题意 给出一棵树,1为根节点,每个点都有一个颜色。求每个点所在子树内所有出现次数最多的颜色的和。 n 分析 新学习了一种姿势叫dsu on tree,大概意思就是树上启发式合并吧。 dsu on tree大概是用来解决这样一类问题:需要多次查询某棵子树内的某个值(必须要离线)。像这题就是需要查询每棵子树出现颜色次数最多的颜色的和。 怎么做呢? 首先我们把这棵树的dfs序求出来,顺原创 2017-06-19 19:22:10 · 1111 阅读 · 0 评论 -
51nod 1782 圣诞树 dsu on tree+splay
题意 ξ 得到了一棵圣诞树,他需要在上面挂满礼物。 ξ 会事先进行m个操作,每次在一条链(u[i],v[i])上的每个点上挂上a[i]个种类为b[i]的礼物。 一个点的k-美观度这样计算:把这个点上的所有种类的礼物按照个数从小到大排序,如果个数一样就按照种类从小到大排。 它的k-美观度就是排好序后前k种礼物种类的xor值(如果礼物种类不足k种,就把这个点上所有礼物的种类xor起来)。原创 2018-02-07 17:48:39 · 301 阅读 · 0 评论 -
bzoj 4182: Shopping 树形依赖背包+dsu on tree
题意 马上就是小苗的生日了,为了给小苗准备礼物,小葱兴冲冲地来到了商店街。商店街有n个商店,并且它们之间的道路构成了一颗树的形状。 第i个商店只卖第i种物品,小苗对于这种物品的喜爱度是wi,物品的价格为ci,物品的库存是di。但是商店街有一项奇怪的规定:如果在商店u,v买了东西,并且有一个商店w在u到v的路径上,那么必须要在商店w买东西。小葱身上有m元钱,他想要尽量让小苗开心,所以他希望最大化...原创 2018-03-16 15:47:27 · 634 阅读 · 0 评论 -
LibreOJ #6276.果树 dsu on tree+可持久化线段树
题意 给出一棵树,每个点有一种颜色。问有多少条路径满足路径上任意两点的颜色都不同。 n≤105n≤105n\le10^5,满足每种颜色至多出现20次。 分析 题解的做法很棒棒啊,设dfn[x]dfn[x]dfn[x]表示xxx的dfsdfsdfs序,就是把每条路径(u,v)(u,v)(u,v)看成平面上的一个点对(dfn[u],dfn[v])(dfn[u],dfn[v])(dfn[u]...原创 2018-04-21 13:54:57 · 527 阅读 · 0 评论