zoukankan      html  css  js  c++  java
  • codechef TREEWALK

    题意

    给定一棵(n)个点的树,要求每个点到(r)距离为(K)的路径个数

    做法一

    换个东西,改成从(r)出发,然后距离(K)走到每个点
    (O(n^2))求出特征多项式,论文
    然后(A^k=sumlimits_{i=0}^{n-1}c_iA^i)
    (A)中只有(O(n))个位置有值,((A^{i+1})_{r,x}(xin [1,n]))可以通过((A^i)_{r,x}(xin [1,n]))(O(n))递推过来

    做法二

    这个东西是有线性递推式的,说详细点

    (S(A^k))表示(A^k)上某些位置的和,这个关于(k)是有线性递推的
    然后先只考虑一个位置((i,j)),要维护的东西是一行,然后仿佛乘上(A),这显然是个线性递推
    在考虑进所有的位置,乘上(A)压起来表示显然都是一样的嘛

    然后大力BM插就好了

    题外话

    做法一是官方题解,限于此题,就没看了,感兴趣的就去看下吧,应该还挺好玩的

  • 相关阅读:
    Git
    java类加载
    DES-加解密C语言实现
    Android消息队列初识 && ThreadLocl 简述
    DbUTils
    JDBC(二)
    jdbc工具类
    JDBC(一)
    数据库
    MySQL数据库学习: 01 —— 数据库的概述
  • 原文地址:https://www.cnblogs.com/Grice/p/12865091.html
Copyright © 2011-2022 走看看