A. 树与路径(树论/多项式/分治FFT)

A. 树与路径

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
首先考虑一个dp的方法,对于这种链划分的题目,有一个很重要的思想就是按照每个点的角度考虑,实际上链划分就是匹配问题,每个点只能出一条边和入一条边,所以我们拆点之后就是匹配,这也是网络流最少链覆盖的思路。

这道题是在树上那么就有更好的性质,实际上对于每个点的状态就是将所连接的边进行匹配,并且每个点的状态是独立的,所以我们可以考虑一个暴力的dp,dpi,jdp_{i,j}dpi,j表示的是i这个点包含父亲边划分为j条链的方案数,然后可以得到转移如果没有链经过i,那么直接相乘,否则假设有k条链经过,则需要乘上一个系数
(2kdui)(2k−1)!!\binom{2k}{du_i}(2k-1)!! (dui2k)(2k1)!!
意义为选择2k个点进行匹配,然后2n个点的完美匹配个数为(2n-1)!!,这是一个经典结论,具体可以通过枚举1号点的匹配递推出来。
fn=(n−1)fn−2f_n=(n-1)f_{n-2} fn=(n1)fn2

然后由于整个问题每个点都是独立的,并且可以看出这也是一个背包问题,所以我们可以利用多项式求解。直接在将上面的系数看作是关于k的多项式,然后乘起来最终的系数就是答案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/314142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET Core on K8S学习实践系列文章索引(持续更新)

近期在学习Kubernetes,基于之前做笔记的习惯,已经写了一部分文章,因此给自己立一个2019年的flag:完成这个《.NET Core on K8S学习实践》系列文章!这个系列会持续更新,先发个草稿列表,后续更新&a…

Java修炼之路——基础篇——数据类型

基础数据类型: 整型(byte short int long )、浮点型、布尔型、字符型boolean:只表示一位的信息,true,false。默认为false,基本上占一字节char: 16位,2字节,Java内部使用Unicode字符集最小值是’…

dft + fft(模板)

dft(多项式相乘模板) /*Author : lifehappy */ #pragma GCC optimize(2) #pragma GCC optimize(3) #include <bits/stdc.h>using namespace std;const double pi acos(-1.0);const int N 3e6 10;struct Complex {double r, i;Complex(double _r 0, double _i 0) : …

P4245 【模板】任意模数多项式乘法

P4245 【模板】任意模数多项式乘法 https://www.luogu.com.cn/blog/AzusaCat/solution-p4245 首先这类问题指的是对于一个非NTT模数&#xff0c;我们如何计算多项式乘法&#xff0c;对于NTT不容易找到单位根&#xff0c;对于FFT又会爆精度。 方法1&#xff1a;三模数NTT 寻找…

2019-02-22-算法-进化

题目描述&#xff1a; 给定一个字符串&#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长度为 3。示例 2: 输入: "bbbbb" 输出: 1 …

TomatoLog-1.1.0实现ILoggerFactory

TomatoLogTomatoLog 是一个基于 .NETCore 平台的产品。The TomatoLog 是一个中间件&#xff0c;包含客户端、服务端&#xff0c;非常容易使用和部署。客户端实现了ILoggerFactory&#xff0c;使用服务注入成功后即可使用&#xff0c;对业务入侵非常小&#xff0c;也支持通过客户…

HDU 4609 3-idiots(FFT)

3-idiots 思路 多项式卷积的经典应用了&#xff1a; 看样例一: 4 1 3 3 4我们用多项式系数表示得到一个与aia_iai​有关的多项式&#xff1a;010210\ 1\ 0\ 2\ 10 1 0 2 1&#xff0c; 也就说明原序列有0个1&#xff0c;1个1&#xff0c;0个2&#xff0c;2个3&#xff0c;…

P5488 差分与前缀和(多项式/生成函数)

P5488 差分与前缀和 对于这道题需要我们快速对一个数列求解前缀和和差分&#xff0c;那么我们利用生成函数的知识&#xff0c;就可以知道实际上等价于乘一个多项式&#xff0c;然后我们就有了一个ln和exp的方法&#xff0c;然后比较简短的方法就是将其利用广义二项式定理展开&…

2019-02-23-算法-进化

题目描述&#xff1a;给定一个字符串 s&#xff0c;找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1&#xff1a; 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。示例 2&#xff1a; 输入: "cbbd" 输…

Docker(二)-在Docker中部署Nginx实现负载均衡(视频)

一、前言在前面的文章中我们已经介绍了如何在Centos7系统中安装Docker以及利用Docker进行Asp.Net Core应用的部署。在本文中&#xff0c;我们将继续介绍利用Docker部署Nginx服务实现负载均衡&#xff0c;我们通过视频方式向大家进行演示。注&#xff1a;查看公众号历史文章&…

P4389 付公主的背包(生成函数/多项式)

P4389 付公主的背包 https://www.luogu.com.cn/problem/solution/P4389 经典生成函数问题 求解无限背包问题&#xff0c;我们可以将每个物品看作一个多项式&#xff0c;那么最后的结果就是这些多项式的卷积的系数&#xff0c;然后我们实际上就可以考虑分治NTT了&#xff0c;但…

HDU 6265 Master of Phi

Master of Phi 推式子 ∑d∣nϕ(nd)d给出了n的唯一分解形式我们先对上面式子进行化简通过组合枚举d&#xff0c;d的取值分别可以通过∏i1m∑j0qipij&#xff0c;一个多项式组合得到那么上述的式子有没有可能也通过这种新式得到呢&#xff0c;好像是可以的∑d∣nϕ(nd)d∏i1m∑…

Docker系列之镜像瘦身(五)

本节我们来讲讲在我们在构建镜像过程中不出问题&#xff0c;同时使得最后所构建的镜像文件大小尽可能最小。缓存(cache)Docker的优势之一在于提供了缓存&#xff0c;加速镜像迭代构建&#xff0c;我们知道构建镜像使用docker build命令&#xff0c;也就是说通过docker build的缓…

2019-02-24-算法-进化

题目描述 将一个给定字符串根据给定的行数&#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时&#xff0c;排列如下&#xff1a; L C I R E T O E S I I G E D H N之后&#xff0c;你的输出需要从左往右逐行读…

P5641 【CSGRound2】开拓者的卓识(多项式)

P5641 【CSGRound2】开拓者的卓识 https://www.luogu.com.cn/problem/solution/P5641 经典的讨论贡献的题目&#xff0c;如果一层一层展开就太暴力了&#xff0c;我们直接考虑每个数被计算了多少次&#xff0c;那么应该是它的左边放k-1个左括号&#xff0c;右边放k-1个右括号的…

2019-02-25-算法-进化

题目描述&#xff1a; 给出一个 32 位的有符号整数&#xff0c;你需要将这个整数中每位上的数字进行反转。 示例1&#xff1a; 输入: 123 输出: 321示例2&#xff1a; 输入: -123 输出: -321示例3&#xff1a; 输入: 120 输出: 21我的解法&#xff1a; public int reverse(…

一张图了解.Net Core和.NetFx和.Net Standard和Xamarin关系

一张图了解.Net Core和.Net Framework和.Net Standard和Xamarin关系总结.NET Standard是一项API规范&#xff0c;每一个特定的版本&#xff0c;都定义了必须实现的基类库。.NET Core是一个托管框架&#xff0c;针对构建控制台、云、ASP.NET Core和UWP应用程序进行了优化。每一种…

Java修炼之路——基础篇——String

String 1&#xff1a;字符串的不可变性 什么是不可变对象&#xff1f;不可变对象是指创建后无法变更的对象 String为什么是不可变的&#xff1f;String类为final&#xff0c;并且内部字符数组也为final。所以String对象是不可变对象。 String类为什么要设计为不可变&#xff1…

P3338 [ZJOI2014]力(FFT)

P3338 [ZJOI2014]力 Fj∑i1j−1qiqj(i−j)2−∑ij1nqiqj(i−j)2Ej∑i1j−1qi(i−j)2−∑ij1nqi(i−j)2f(i)qi,g(i)1i2,f(0)0,g(0)0Ej∑i0jf(i)g(j−i)−∑ijnf(i)g(i−j)F_j \sum_{i 1} ^{j - 1} \frac{q_i \times q_j}{(i - j) ^ 2} - \sum_{i j 1} ^{n} \frac{q_i \times…

CF755G PolandBall and Many Other Balls(多项式/倍增fft)

CF755G PolandBall and Many Other Balls 倍增fft模版题 这种问题关键在于两个状态转移&#xff0c;一个是单点加1&#xff0c;还有一个是乘2&#xff0c;这样我们就相当于拥有了二进制下的左移操作和加1操作&#xff0c;那么可以在O(logn)的时间内表示出任何一个数。 然后对…