随笔分类 -  D-dp-树形dp

摘要:题意 uoj ####做法 第一次打uoj比赛,居然有签到题,体验良好qwq 容易观察到,一个点一旦加入$S$就不会再出来,且边形成了一个虚树。 任意时刻,操作为在虚树中的某条边中间选取一个点加进来,或在外面选取一个点,与虚树的一个叶子连边。 自然的,会想到对于一棵树,目前$S={root}$,枚举 阅读全文
posted @ 2021-04-05 09:59 Grice 阅读(231) 评论(0) 推荐(1)
摘要:不放翻译了,去官网看吧 Floyd-Warshall $O(nmlogm)$算出点对最短路径 按顺序更新$(i=1\sim n)$ 记下$i$到哪些点是没问题的$S$,记下哪些点到$j$的路径是没问题的$T$,然后考虑$i,j$的路径是否能被更新,存在$k\in S\cap T$,且$i\longr 阅读全文
posted @ 2020-06-09 15:48 Grice 阅读(502) 评论(0) 推荐(0)
摘要:题意 给定$n$长度序列${a}$(\(a_i\in[1,9]\)) 对序列建二叉树树的过程如下:\([l,r]\),选择$i\in[l,r]\(,分别对\)[l,i-1],[i+1,r]$建树 求任意点到根路径和的最大值的最小值 做法 显然答案$\le 9\times logn$ 令$f_{x,c 阅读全文
posted @ 2020-06-03 22:40 Grice 阅读(120) 评论(0) 推荐(0)
摘要:题意 给定一棵$2n-1$个点的树,$n$个白点,$(n-1)$个黑点。 对于每个黑点,两个儿子节点,分别为黑点和白点,边分为红、蓝两种颜色,黑点到儿子节点一条为红,一条为蓝。 白点均为叶子节点。 需要标记$n-1$条边,对于每个白点,令至根的路径上还有$x$条红边没标记,$y$条蓝边没标记,每个白 阅读全文
posted @ 2020-05-25 20:09 Grice 阅读(106) 评论(0) 推荐(0)
摘要:题意 "洛谷" 做法 考虑$(n 1)!$种边集排列,每条边又等概率分为两种情况,我们算$(n 1)!$的总概率,然后$/(n 1)!$ 考虑算$rt\in[1,n]$的方案,将$rt$置于根 令$f_{i,j}$为i变成rt时,子树还剩$j$条边,最后这棵子树变为一个$rt$点的方案数。 考虑$u 阅读全文
posted @ 2020-05-21 16:28 Grice 阅读(147) 评论(0) 推荐(0)
摘要:题意 "洛谷" 做法 考虑暴力,单独考虑一个度数限制$d$ 令$f_{i,0/1}$为$i$子树全部满足限制,$(fa_i,i)$是否被割断的最小值 若不考虑$u$这个点的度数限制,$f_{u,0/1}=\sum\limits_{v\in son_u}min(f_{v,0},f_{v,1}+(u,v 阅读全文
posted @ 2020-05-20 20:13 Grice 阅读(184) 评论(0) 推荐(0)
摘要:题意 "洛谷" 做法 以每个点右边最近的较大值为父亲建森林,森林的根再加上虚点 若已经处理完区间$[l,r]$,增加$r+1$,相当于将$r+1$的子树$+1$;删掉$l 1$,相当于将$l 1$的子树$ 1$ 然后查询最大值 阅读全文
posted @ 2020-05-19 17:16 Grice 阅读(128) 评论(0) 推荐(0)
摘要:题意 "洛谷" 做法 这个东西是可以二分,下面讲为什么能变大,顺便抽象出来 令分支系数为$mid$,令深度为$i$的点个数为$d_i$,令所需大小之和为$s$: $d_1=1$ $\forall i,d_i\le d_{i 1}\times mid$ $\sum d_i=n$ $\sum d_i\t 阅读全文
posted @ 2020-05-16 21:08 Grice 阅读(162) 评论(0) 推荐(0)
摘要:题意 给定$n$个点的带边权树,$m$条代价路径,令两条路径$(u_1,v_1,w_1)(u_)(u_2,v_2,w_2)$,$val=\sum\limits_{(u,v)\in dis(u_1,v_1)~or~(u,v)\in dis(u_2,v_2)}val(u,v) w_1 w_2$。求$ma 阅读全文
posted @ 2020-05-16 14:55 Grice 阅读(243) 评论(0) 推荐(0)
摘要:题意 给定$n$点的带点权树,$q$次查询,给定$u,v$,令$S$为$u,v$路径的上点,求$\sum\limits_{x\in S} dis_{u,x}~or~a_x$ 做法 令$up_{i,j}$为$i$点往上$2^j$这条路径上以$i$为起点的询问和 令$down_{i,j}$为$i$点往上 阅读全文
posted @ 2020-05-13 15:26 Grice 阅读(101) 评论(0) 推荐(0)
摘要:题意 父亲节点较小的树期望高度。$n\le 200$ 做法 令$dp_{i,j}$为$i$个点选出$j$个点组成的概率 $dp_{i,j}=dp_{i 1,j 1}\times \frac{j 1}{i}+dp_{i 1,j}\times \frac{i j}{i}$ 令$f_{i,j}$为$i$点 阅读全文
posted @ 2020-05-12 20:15 Grice 阅读(137) 评论(0) 推荐(0)
摘要:题意 给定$n$点的树,给定$m$个关键点,从中选$k$个,从任意点开始任意点结束的最短路径期望长度 做法 假设$k$个点已经选好了,则答案为$2sum L$,$sum$为虚树边权和,$L$为直径长度 枚举每条边是否出现,令$u$为子树外的关键点,$d$为子树内的关键点,则出现的方案数为$\frac 阅读全文
posted @ 2020-05-11 22:10 Grice 阅读(132) 评论(0) 推荐(0)
摘要:题意 给定一棵边权为$1$的树,初始棋子在$1$上,第一步必须得移动,往后走的每一步都得比上一次走的距离要严格长,求有多少个包含$1$的连通块是先手必胜的方案数。$n\le 10^6$ 做法 考虑什么时候先手必胜。 是一条链时 若为奇数且根节点在中间,则先手不管往哪移后手都给移动到对面去,这样先手必 阅读全文
posted @ 2020-05-11 21:36 Grice 阅读(122) 评论(0) 推荐(0)
摘要:题意 给定一棵$n$个点的树,要求每个点到$r$距离为$K$的路径个数 做法一 换个东西,改成从$r$出发,然后距离$K$走到每个点 $O(n^2)$求出特征多项式, "论文" 然后$A^k=\sum\limits_{i=0}^{n 1}c_iA^i$ $A$中只有$O(n)$个位置有值,$(A^{ 阅读全文
posted @ 2020-05-10 21:15 Grice 阅读(144) 评论(0) 推荐(0)
摘要:题意 "codechef" 做法 对于一棵树,若点数为$s$时黑点最少为$l$最多为$r$,则黑点可行区间为$[l,r]$ 阅读全文
posted @ 2020-05-09 15:06 Grice 阅读(127) 评论(0) 推荐(0)
摘要:题意 "codechef" 做法一 首先kruskal重构树,那么$f(G_1/G_2,i,j)$就转化为$val[G_1/G_2(lca(i,j))]$ 对$G_1$边分,令当前边分出来的边为$(u,v)$,将该边断开,当前连通块分成$T_1(u),T_2(v)$ 如果在$G_1$上$dep_u< 阅读全文
posted @ 2020-05-08 10:08 Grice 阅读(182) 评论(0) 推荐(0)
摘要:题意 "51nod" 做法 结论1 :$id(i) id(v)(v\in son_i)$ 推论1 :叶子节点到根的编号是递增的 推论2 :叶子节点的值是本身的编号 根据 推论2 ,若叶子节点分别是$x_1,x_2,\cdots,x_k$,若确定相对顺序是$x_1<x_2<\cdots<x_k$,则可 阅读全文
posted @ 2020-05-06 15:33 Grice 阅读(81) 评论(0) 推荐(0)
摘要:题意 $n$点带权树($v_i$),需要确定一个选点的方案,令$g_i=\sum\limits_{x,y}[lca(x,y)=i]$,使得$g_i\ge v_i$ 做法 令$s_1,s_2,...,s_k$为$x$的子节点(令$x$也为$x$的子节点,但$x$的子树定义不变),$cnt_i$为以$i 阅读全文
posted @ 2020-05-04 23:13 Grice 阅读(148) 评论(0) 推荐(0)
摘要:题意 "uoj" 做法 转化为笛卡尔树 由于值相同时是选左边的为根,所以右链个数是不受限制的 令$f(n,k)$表示左链个数不超过$k$的二叉树个数 $f(n,k)=\sum\limits_{i=0}^{n 1}f(k 1,i)f(k,n 1 i)$ 令$F_k(x)=\sum\limits_{i} 阅读全文
posted @ 2020-05-04 15:51 Grice 阅读(135) 评论(0) 推荐(0)
摘要:题意 "51nod" 做法 要是想不到树就删号重练吧 令$F_k$为深度不超过$k$的森林个数的EGF 不超过$k$的森林,就是若干棵不超过$k$的树,取掉树的根,就是不超过$k 1$的森林 就有$F_k=e^{xF_{k 1}}$ 阅读全文
posted @ 2020-04-30 16:52 Grice 阅读(304) 评论(2) 推荐(1)