• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
AC_Artist.zig_zag
然而我依然在补题、
博客园    首页    新随笔    联系   管理    订阅  订阅
2013年4月2日
Spoj 1825 Freetour2
摘要: 点分治第二题,分治过程写的比较熟练了,但搞答案的时候还是想了好久,写了好久.......主要解释一下求g的那块吧:首先dep[i]表示rot的第i个儿子的子树里黑点最多的路径的的黑点数。黑点限制是K,我们可以求出rot的每一个儿子i黑点数为j的最大长度g[i,j],然后每次求出一个j1+j2<=K,且g[i1,j1]+g[i2,j2]最大的。如果我们枚举i2,那么只需要求出一个可以和i2配并且最长的i1就行了。这个可以用个什么数据结构维护,也可以“暴力”。由于顺序是对答案没有影响的,那么我们按照dep升序排序,然后按照这个顺序计算,mg[j]表示前i个点的g[j]的最大值,如果维护好mg 阅读全文
posted @ 2013-04-02 10:18 Zig_zag 阅读(193) 评论(0) 推荐(0)
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3