P3565 [POI2014] HOT-Hotels

三倍经验:

加强版:

  • bzoj #4543

  • 先看 bzoj #3522 这题。容易想到时间 O(n2) ,空间 O(n2) 的树形 dp 。设 dp1/2/3,u,i 表示以 u 为根的子树中所有以 u 为一端点,长度为 i 的路径中选 1/2/3 条路径的方案数(注意,这个方案数选的几个节点的 LCA 必须都是 u 节点

  • 转移显然,跑个换根即可

  • 但这个代码放到 P3565 上会 MLE ,考虑优化空间复杂度

  • fi 表示以当前节点为根时深度为 i 的点的个数, gi 表示以当前节点为根时选两个深度为 i 且 LCA 是根的方案数, prei 表示当前考虑的这些儿子中深度为 i 的路径个数

  • 容易得到转移:

ansans+gi×figigi+prei×fipreiprei+fi

  • 最终复杂度 O(n2) ,但空间优化到了 O(n)
  • 最后考虑加强版,要用长链剖分所以鸽了
posted @   FOX_konata  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示