[树] [HDU5830] Rikka with Subset II
来源:互联网 发布:linux echo 脚本 编辑:程序博客网 时间:2024/06/10 01:58
题目传送门
还是翻译:
题目描述
我们都知道,Rikka酱数学不好,勇太君担心这个情况,所以他给了六花同学一些数学题来练习,下面是其中的一道:
勇太桑有一棵有n 个节点的树,树上的所有边长度都是1 ,对于这些点的一个非空子集S ,S 的价值value(S) 等于max(dis(u,v)) ,其中u,v∈S ,dis(u,v) 表示u,v 两点间距离。
容易发现,value(S)∈[0,n) 。现在,对于∀K∈[0,n) ,勇太君想知道有多少S 集合满足value(S)=K 。
这对于六花酱来说太难了,你能帮帮她吗?
输入 Input
第一行包含一个整数
t(1≤t≤100) ,表示测试数据组数,并有不超过5 组数据n>100 。
对于每组测试数据,第一行一个正整数n(1≤n≤3000) ,接下来的n−1 行,每行两个数u,v ,表示u 与v 之间有一条边。
输出 Output
对于每组测试数据,输出一行
n 个数,第i 个数表示满足value(S)=i−1 的非空集合个数,这个答案可能很大,所以输出答案模998244353 .
我们知道,Rikka with Subset这道题是NTT,这道题应该不是。
(我就是闲的没事来看看……)
注意,选择
好了怎么做?
暴力一点,枚举集合,一共
(摔西瓜……)
现在换种思路,如果我们枚举所选集合中最长路径,然后往里加点不就好了,这样就是
如果我们确定了两个端点,那么这两个端点之间的点(只是在路径上)是随意加的,如果两点间距离为
诶诶诶不对啊,我怎么少了这么多种?
不在路径上的点也可以进入集合并且不影响最长路径!
如图所示的一棵树,如果选择了端点
这样枚举就不行了,我们还得沿着路径爬上去计算选择子树的情况……这样就是
我们换种方法,枚举中间点来消除子树对最长路径的影响。
诶中间点?如果中间是条边怎么办?
分情况讨论……
我们需要预处理出一个点向下
得了直接BFS吧(flag)
好了我们知道了这些,然后就是统计答案了……
对于一个点
加多少?
我们一定是从一个小的
推一下,答案加上
上式中
但是我们会发现答案还是不对……
因为有几种情况没考虑到。
如上图中
如果随意选择的话,
这样有点作为中点的情况考虑完了……
下面就应该是无中点的情况了。
接着要统计
唉我去好崩溃啊……难怪就
写代码是更崩溃的……
那个BFS可能被卡常过不去,劼劼劼写了个DFS但是没看懂……
在学校题库卡常成功但是HDU上卡不过去,所以请自觉DFS……
可是DFS跑的好快啊!明明时间复杂度一样……
总时间复杂度非常注意常数……(我输出优化都上了……)
UPD:能不能用树的点分治做?
树的点分治因为无法处理那个”如果选择了端点
Code
- [树] [HDU5830] Rikka with Subset II
- HDU6092 Rikka with Subset
- HDU6092-Rikka with Subset
- hdu6092 Rikka with Subset
- HDU6092(Rikka with Subset)
- Rikka with Subset HDU
- Rikka with Subset HDU
- HDU6092-Rikka with Subset
- Rikka with Subset HDU
- HDU 5829 Rikka with Subset
- [NTT] [HDU5829] Rikka with Subset
- hdu 6092 Rikka with Subset
- HDU 6092:Rikka with Subset
- hdu 6092 Rikka with Subset
- HDU 6092 Rikka with Subset
- HDU 6092 Rikka with Subset
- HDU_6092 Rikka with Subset 【DP】
- HDU 6092 Rikka with Subset
- Git的标签
- css样式学习7
- CodeVS 1907 方格取数 3 (ISAP)
- Lambda表达式在Android中的使用
- (八)Paint Xfermode
- [树] [HDU5830] Rikka with Subset II
- mac下载配置mongodb数据库
- 线段树大模板(区间更新,单点更新,查询区间最值等等)
- 设计模式—原型模式(六)
- IMWeb提升营Day7 | 训练题37:数字在排序数组中出现的次数
- HDU1251统计难题---Trie Tree
- LeetCode 36. Valid Sudoku
- opencv3_java 图像的方框滤波BoxFilter BoxFilter
- Java架构师之路:Java程序员必看的15本书的电子版下载地址