zoukankan      html  css  js  c++  java
  • [USACO19DEC]Tree Depth P

    [USACO19DEC]Tree Depth P

    题目传送门

    u是v的祖先的充要条件:u是([u,v])中最小的,从小往大加元素,第i个加入的元素贡献为([0,i-1])

    然后我们枚举i,和(j-i=len)

    然后就是求这个多项式的第(k/k-(|len|-1))项:

    [prod_{t=0}^z {sum _{i=0}^t x^i} imes prod _{t=z+1}^nsum _{i=0}^t x^i ]

    我们可以分别对前缀和后缀搞一个背包,前缀和优化一下就可以(O(NK))做到。

    (pre_{i,j})表示前i个,总和为j的方案数。

    (suf_{i,j})表示后i个,总和j的方案数。

    然后两个部分卷积的时候可以发现,我们只关心两项:

    (A[i])表示(pre_{i-1}*suf_{n-i})的第k项。

    (B[i])表示(pre_{i-1}*suf_{n-i})的第k-(i-1)项。

    (O(NK))计算。

    代码,待补:

  • 相关阅读:
    图像相似度
    二维数组 问题 E: 计算鞍点
    Uva
    Uva
    Uva
    Uva
    Uva
    Uva
    Uva
    【转载】2015 Objective-C 三大新特性 | 干货
  • 原文地址:https://www.cnblogs.com/gary-2005/p/14212960.html
Copyright © 2011-2022 走看看