CF EDU 1101D GCD Counting 题意 有一颗树,每个节点有一个值,问树上最长链的长度,要求链上的每个节点的GCD值大于1。 思路 由于每个数的质因子很少,题目的数据200000<2*3*5*7*11*13*17=510510。所以每个节点的质因子个数不多。那么树形DP的时候直接枚 ...
分类:
其他好文 时间:
2019-01-13 18:08:37
阅读次数:
198
我说这是我们的noip互测题你信吗... 首先介绍一下仙人掌(略,参见题面) 然后我们思考一下怎么做: 首先,如果原图是一棵树,那么做法是很显然的(树上最长链嘛) 但是,图是一个仙人掌,所以树上最长链的做法有bug 所以我们考虑:是否能将树上的做法移接到仙人掌上即可 怎么移接? 我们看到,根据仙人掌 ...
分类:
其他好文 时间:
2018-10-08 20:34:40
阅读次数:
194
先附上原题: HDU#4607. Park Visit 题目描述 Claire and her little friend, ykwd, are travelling in Shevchenko's Park! The park is beautiful - but large, indeed. N ...
分类:
其他好文 时间:
2017-10-09 18:31:01
阅读次数:
196
Description 一棵树,询问两个端点编号分别在在 \([a,b]\) 和 \([c,d]\) 两个区间中的最长链. Sol 线段树+ST表. 树上最长链可以合并,只需要合并两个区间最长链的两个端点即可. ST表要预处理好 \(log\) ,用了cmath 的 log2() ,T的飞起. Co ...
分类:
其他好文 时间:
2016-11-10 16:39:36
阅读次数:
176
题解:
对于 k==0k==0 的情况:
我们发现遍历一棵树最后回到原点,那么对于所有的边,我们都是走过去,再走回来。
答案 (n?11)(n-1
对于 k==1k==1 的情况
设每条边长度为1,然后树上找最长链,然后这条链走过去就不再一步步往回了,直接从链底连一条边去链顶,然后链中间连的那些点,直接走过去再走回来,它们那些边的答案是不变的。
答案 (n?11)?(链长度)+1(n-...
题意:输出从一颗树中所有结点出发可以走的最长的路。思路:先找到树上最长链然后判断两个端点中到每个结点远的距离就是答案。代码如下:
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include
8...
分类:
其他好文 时间:
2014-05-02 08:55:38
阅读次数:
192