摘要:
第一眼DP,发现不可做,第二眼就只能$O(2^{1024})$暴搜了。 重新审视一下这个DP,f[x][i]表示在x的祖先已经全部染色之后,x的子树中共有i个参战平民的最大贡献。 设k为总结点数,对于DFS,我们有$T(1)=O(\log k)$,$T(k)=4T(\frac{k}{2})+O(k^ 阅读全文
摘要:
题目名字是什么就不能往那方面想。 每个点拆成a[i][j]个,问题变为DAG最小路径覆盖,由Dilworth定理转成最长反链。 使用Dilworth定理的时候要注意那些点之间有边,这里任意一个点和其右下方的所有点都有边。 从右上往左下DP统计答案即可。 阅读全文
摘要:
题意极其有毒,注意给的行列都是从0开始的。 状压DP,f[i][S]表示第i行状态为S的方案数,枚举上一行的状态转移。$O(n2^{2m})$ 使用矩阵加速,先构造矩阵a[S1][S2]表示上一行为S1是下一行是否能为S2,快速幂加速后得解。$O(2^{3m}m^2+2^{3m}\log n)$ 阅读全文