树形dp
Thomas_ZQQ@Runespoor
这个作者很懒,什么都没留下…
展开
-
【题解】codeforces1097G. Vladislav and a Great Legend 树形dp+计数
题目连接题意给定一棵树,选择一个点集合X,权值F(X)= 联通该集合边的条数求对所有点集合X,sigma(F(X) k)n <= 1e5 , k <= 200题解一开始以为用斯特林数维护k次方。但是不太会转化题解给出了一个巧妙的转化:把k次方看成选一个k维向量,统计每个向量的出现次数。为了统计方便,先统计有序且不重复出现的i维向量(1<=i<=k),然后...原创 2019-02-09 09:42:21 · 185 阅读 · 0 评论 -
【题解】CF1060F Shrinking Tree 概率树形dp 好题!
题面link题目描述(中文)对于一棵有 nn 个节点的树 TT 。当 TT 的节点数多于一个时,反复执行以下操作:等概率地选取 TT 中的一条边。收缩选取的边:即合并这条边连接的两个点 uu 和 vv 。得到的新点的编号等概率地从 uu 和 vv 中选取一个。当这个过程结束时, TT 只剩一个节点了,它的编号可能是 1,…,n中的任意一个数 。对于每个编号,请输出最终得到这个编号的概率。...原创 2019-02-11 16:38:15 · 357 阅读 · 0 评论 -
【题解】codeforces 1039D. You Are Given a Tree 树形dp+二分答案
题解答案显然递减,并且变化点只有根号个。当路径长度>=sqrt(n)时,答案显然小于根号n所以二分答案找变化点即可这样根号的性质很常见!还有一类思路是sz不同的子树只有根号种这题还有更厉害的做法,留坑nsqrt(n * logn) 的做法要卡常,dfs太慢,每次check应该用bfs。#include<bits/stdc++.h>using namespace s...原创 2019-02-12 22:19:38 · 258 阅读 · 0 评论 -
【题解】codeforces 1023G. Pisces 最长反链 数据结构维护差分 启发式合并
problem题解这道题非常巧!我的姿势水平太落后,一开始还在想费用流,如何优化建边(可能是因为看到题目tag里有个flow。一定不能被这些tag影响,要自己摸索题目算法)费用流是经典模型:把在每一天拆点,一个表示必须用,一个表示用了的给以后的点使用。同:餐巾计划问题要是优化建边树分治?边都是nlog^2,简直是胡思乱想!Dilworth定理全集U是一个偏序集U的链划分使用的最...原创 2019-03-05 20:04:52 · 332 阅读 · 0 评论