csp
心对冷月随风飘
这个作者很懒,什么都没留下…
展开
-
csp 201909-5 城市规划 (DP)
解题思路 考虑DP,F[i][j]表示i子树中选j个点的代价,注意到某个子树与父亲相连的边的代价只与子树选的点个数有关,可以在对每条边计算代价。 DP转移: F[i][j]=min{F[i][j-k]+F[son][k]+k∗\ast∗(K-k)∗\ast∗c},k为子树选取点个数,c为边代价。 时间复杂度O(NK^2) 代码 #include <bits/stdc++.h> using namespace std; const int MAXN=50010; const long long I原创 2020-10-05 23:16:41 · 487 阅读 · 1 评论 -
csp 202009-5 密信与计数 (DP)
解题思路 明文和密文一一对应,考虑对明文DP,用AC自动机判断密文是否非法(即包含词典中的词)。 记F[i][j][k]表示长度为i,密文匹配位于AC自动机的结点j,且正在查看解密密码本的第k页的明文个数。 考虑转移: 主动转移,枚举后一个词典的词,用密码本对应出密文,判断加上这个词后明文是否非法。 时间复杂度:O(MN|S|^2),其中|S|为词典大小。 代码 //by cml #include <bits/stdc++.h> using namespace std; const int MA原创 2020-10-05 23:13:14 · 2099 阅读 · 3 评论