摘要:
link 又是一道虚高的紫题。 题意是说给定一棵树,树上一些点为特殊点,求到所有特殊点的距离均不超过给定值的点的个数。 换根的板子。对于每个点维护在子树内离自己最远的特殊点和第二远的特殊点,用 $O(N)$ 的时间求出根节点的信息;然后二次换根,每个节点考虑父亲的最远点是否来自自己的子树,如果是就取 阅读全文
摘要:
link CF的题总是很良心的。比如这道题完全够不到紫题的难度,充其量一个绿题嘛。就是一个倍增,同时维护元素和和元素最小值的倍增数组,一次询问就可以了。 注意要开long long,而且CF上要用 printf("%I64d"); 输出long long。 代码异常简单。 #include<bits 阅读全文
摘要:
link 搜索中迭代加深的技巧。迭代加深是解决一类答案深度不大、但搜索树可能很深(甚至无限深)、用广搜还不是很好解决的问题。方法是枚举答案的深度,通过限制搜索树深度的方法达到解决问题的目的。 比如这道题。分解得到的分数数量可能非常多,但答案的数量不会太大,就可以通过迭代加深加剪枝的方法进行。 #in 阅读全文
摘要:
link 用 $f_i$ 来代表准备照第 i 面镜子,照完所有镜子的期望天数。有 : $$f_i=\begin{cases}f_1+1 & (p=1-p_i)\f_{i+1}+1& (p=p_i)\end{cases}$$ 两种可能。于是就有: $$f_i=(1-p_i)f_1+p_if_{i+1} 阅读全文