实质都在于找到相应的递推关系。

对于n种物体k1-kn,大小为K的背包问题来说,递推关系是:P(n, K) = P(n-1, K) || P(n-1, K-kn),也即,根据当前物体kn是不是被选中,来二分。

对于树的直径问题,记f(t)为以节点t为根的子树的直径,h(t)为以节点t为根的子树的高度,则

f(t) = max{ f(left), f(right), h(left) + h(right) + 2 }

对于叶子节点,f与h均为0,则递归关系找到了。

对于集合的划分问题(一个整数集合,是否存在一种划分,使得两个子集合中元素的和相等),立刻可以转化为背包问题。

相关文章:

  • 2021-09-22
  • 2021-09-26
  • 2022-01-26
  • 2021-09-22
猜你喜欢
  • 2021-08-23
  • 2022-01-30
  • 2022-12-23
  • 2021-10-07
  • 2018-12-01
  • 2021-07-31
  • 2021-07-17
相关资源
相似解决方案