
计数dp
文章平均质量分 53
林伏案
妖蛾子良多的范老爷
展开
-
poj3046
点击打开链接 /* translation: 有t组蚂蚁,总数为a,同一组蚂蚁没有区别。求s~e只蚂蚁总共能划分多少组? solution: 计数dp 设d[i][j]表示前i种蚂蚁拿出j只能划分成多少组。 则不难推出转移方程:d[i][j] = sum(d[i-1][j-k]);其中k = min(x[i], j), x[i]为i类蚂蚁的个数。 但是这样来递推复杂度太高,大概是O原创 2016-09-03 21:27:04 · 520 阅读 · 0 评论 -
poj3734(矩阵幂)
/* translation: 用红、黄、蓝、绿四种颜色对n个砖块进行染色。问红、绿砖块都为偶数的方案总共有多少种? solution: 矩阵幂,小白书p203 设染到第i块时红绿砖块都为偶数的方案为ai,红绿砖块一奇一偶方案数为bi,红绿都是奇数的方案数为ci 则可以有如下的递推: a(i+1) = 2*ai + bi b(i+1) = 2*ai + 2*bi + 2*ci c(i原创 2017-01-17 21:53:34 · 273 阅读 · 0 评论 -
poj3420(状态压缩+矩阵加速)
/* translation: 有4*n的矩形一个,求用1*2的砖块去铺可以有几种填充方法? solution: 矩阵加速+状态压缩 一看这道题以为是轮廓dp,但是由于n的值太大,所以无法进行轮廓dp,所以考虑用矩阵来加速。 如图片所示,在第n行铺完后第n+1行的情况可以有如图所示的几种情况。注意其中0101的状态是不可能出现的。因为如果出现0101 那么最原创 2017-01-26 21:03:07 · 382 阅读 · 0 评论