随笔分类 -  算法——动态规划

摘要:我们考虑对于一个$N$,他如果变成了他的约数$x$,那又会变成一个子问题 我们定义$F(n, k)$为n操作k次的期望个数 那么我们有$F(n, k) =\sum_{x|n} F(x, k 1) \frac{1}{d}$(其中d为n的约数个数) 因为$N$的约数个数肯定在$\sqrt N$以内现在我 阅读全文
posted @ 2019-10-03 23:37 呢没理他 阅读(210) 评论(1) 推荐(0)
摘要:~~这道题细节是真的多~~ 看数据范围,这应该是一道虚树DP,我们先来想一下不用虚树怎么做 我们定义$id[i]$为第i个点应该归哪一个议事处管理,且i到$id[i]$的距离为$dis[i]$ 我们做两遍dfs,首先从下到上,用儿子更新父亲,再从上到下,用父亲更新儿子 更新过程十分简单,就类似于重链 阅读全文
posted @ 2019-10-02 20:35 呢没理他 阅读(196) 评论(0) 推荐(0)
摘要:题目要求若出现x,则不能出现2x,3x 所以我们考虑构造一个矩阵 $1\ 2\ 4 \ 8……$ $3\ 6\ 12\ 24……$ $9\ 18\ 36……$ $……$ 不难发现,对于一个矩阵,若我选择了一个数x,则在矩阵内该数的相邻格子都不能选,题目就被转化成了 "玉米田" 了,可以用状压DP解决 阅读全文
posted @ 2019-04-29 10:16 呢没理他 阅读(255) 评论(0) 推荐(0)
摘要:状态压缩就是将一行的状态压成一个二进制数,这个数的二进制形式反映了这一行的情况 比如0100111的意义为:这一排的第一个数没被使用,第二个被占用了,第三四个没被占用,第五六七个被占用 我们知道位运算和状压DP一样,也是在二进制下进行的,所以位运算往往可以解决很多问题 我们来看看状压DP(位运算)的 阅读全文
posted @ 2019-01-19 20:07 呢没理他 阅读(691) 评论(1) 推荐(1)