@Holmesee
2020-06-12T23:07:30.000000Z
字数 941
阅读 664
未分类
广义Fib数列 满足
求
组数据
肯定找每层的循环节啊。
这玩意儿怎么找?
设 表示模 意义下的循环节长度
设
给你一棵 个节点的树,你可以删除一条边并连上一条边 次,问能生成多少种树。
Orz 又一次被刷新了对矩阵树和插值的认知。
原问题等价于求选择不超过 条非树边形成树方案数。
我们设一条非树边为 ,由于矩阵树定理求的是边权乘积之和,那么算出来的多项式的 项系数就是恰好选择 条非树边的方案数。
枚举 ,用矩阵树定理算出 个点值,再用插值算法插出这个多项式, 项系数之和就是答案。
给你一棵 节点树,边有边权,求无序对 的个数,满足 到 的简单路径的 等于 。有 次修改,每次修改一条边的权值,你需要回答初始局面以及每次修改后的答案。
设 表示 为 的倍数的路径条数,问题转化为求每个 。对于一个 ,可以用并查集合并所有边权为 的倍数的边来求得。
考虑修改,因为修改次数极少,所以先把不修改的边考虑了,设这时为时刻 。然后对于时刻 ,回滚到时刻 ,再加边(指考虑了时刻 到时刻 的修改操作的边)到时刻 就行了。回滚用可撤销并查集实现。