题意: 块木板,每块木板有 个格子, 每个格子需要被涂上红色或者蓝色。每次粉刷只能选择一块木板上的一段连续的格子,然后涂上一种颜色。每个格子至多只能被粉刷一次。问粉刷 次,正确粉刷的格子数最多是多少? 解法: 用 表示第 块木板粉刷 次,正确粉刷的格子总数。 在已经计算出 的前提下,剩下的就是一个分组背包问题:用 表示总共粉刷了 次,正确粉刷的格子总数。 递推式为: 对应代码的第26~30行,注意循环顺序。这部分复杂度为 然后再考虑如何计算 : 对每块木板,定义 表示粉刷到第 个格子,共粉刷了 次的正确粉刷格子总数。 那么递推式为: 其中 表示前缀红色/蓝色的格...