P3312:「SDOI2014」数表题解

解法

好题。

我们首先写出这道题的暴力解:

\[ answer = \sum_{i = 1}^n \sum_{j = 1}^m \sigma_1 (gcd(i, j)) [\sigma_1 (gcd(i, j)) \leq limit] \]

复杂度超级大,怎么办?换一种思维来写这个式子,考虑枚举每一个\(gcd(i, j)\)为\(d\),记起次数为\(g(d)\),我们可以搞出并化简为:

Continue reading →

P3830:「SHOI2012」随机树题解

解法

第一问

第一问比较好求,设状态\(f[i]\)为有\(i\)个叶子节点时的期望深度。考虑从上一个状态分裂会多对总深度做\(f[i-1]+2\)的贡献,可以知道:

\[ f[i] = \frac{f[i-1] * (i-1) + f[i-1] + 2}{i} = f[i-1] + \frac{2}{i} \]

Continue reading →

P3239:「HNOI2015」亚瑟王题解

解法

一道概率期望类 DP。

我们设状态不考虑当前轮数:这样太难设计了,我太菜不会。考虑设计全局的状态:\(f[i][j]\)意义为考虑前\(i\)张卡牌,且游戏结束时只发动了\(j\)张纸牌的概率。那么答案就是:

Continue reading →

「Codeforces 113D」Museum 题解

解法

这道题还是挺神仙的,式子比较好推但是高斯消元部分有点麻烦。

首先我们枚举终点\(t\),设状态\(f[i][j]\)为人在\(i,j\)时转移到\(t\)的概率。考虑下面的式子:

Continue reading →

BZOJ2298:「HAOI2011」problem a 题解

解法

这道 DP 出的很好,考察了选手模型转换的能力。

第\(i\)个人说:“有\(ai\)个人分数比我高,\(bi\)个人分数比我低。”

每一句话都可以看作是一维坐标上的一条线段\([a_i+1,n-b_i]\),表示这一段线段上的人成绩相等。显然,对一每一种合法情况,这些线段都不会相交(允许完全重合)。所以将线段按左端点排序,这个以坐标位关键字的\(dp\)方程应该写成:

\[ dp[i] = dp[i-l] + min(\text{线段长度}, \text{线段个数}) \]

Continue reading →