harmakik
Solution
对于原树一个节点\(x\):
\(f_x(h)\)表示,\(x\)作为一个深度为\(h\)的点时,\(x\)及其子树的安排方案有多少(不考虑\(x\)具体在深度为\(h\)的哪个点)
\(F_x(h)\)表示,对于一个固定的深度为\(h\)的节点\(y\),\(x\)在\(y\)或其子树中,\(x\)及其子树的安排方案有多少。
则有关系:
\[
F_x(h)=\sum_{i\ge h}f_x(i)*2^{i-h}
\]
对于叶子:
\[
F_x(h)=[h\le h_x]2^{h_x-h}
\]
已知二者都可以表示成这些形式
\[
f_x(h)=\sum_{i\geq 0}c_i*2^{-ih}\\
F_x(h)=\sum_{i\geq 0}c_i*2^{-ih}
\]
对于叶子\(x\),赋值后直接回溯:
\[
c_1=2^{h_x}
\]
依照60分DP,可以推出由儿子到自己的转移(两个\(c\)分别是两个\(F\)的\(c\),\(c'\)是转移后的\(f_x\)的\(c\)):
\[
\begin{aligned}
f_x(h)&=F_l(h+1)F_r(h+1)\\
&=(\sum_{i\geq 0}c_i2^{-i(h+1)})(\sum_{j\geq 0}c_j2^{-j(h+1)})\\
&=(\sum_{i\geq 0}\frac{c_i}{2^i}2^{-ih})(\sum_{j\geq 0}\frac{c_j}{2^j}2^{-jh})\\
&=\sum_{i\ge0}{c'}_i2^{-ih}\\
\end{aligned}
\]
当然,也可以在卷积完之后每个\(c_i\)除去\(2^i\)
观察到这个卷积,再考虑边界,\(c\)的下标为\(0...siz[x]\),\(siz[x]\)为\(x\)子树中叶子数。暴力卷积,用树上背包思路分析,这一步的复杂度是全局\(\mathcal O(n^2)\)的
得到自己的\(f\)后,由于父亲要使用自己的\(F\),所以根据定义式由\(f\)推出\(F\):
\[
\begin{aligned}
F_x(h)&=\sum_{h \le i<maxh}f_x(i)*2^{i-h}\\
&=\sum_{h \le i<maxh}\sum_{j\ge 0}c_j*2^{i(1-j)-h}\\
&=\sum_{j\ge0}\frac{c_j}{2^h}\sum_{h \le i<maxh}(2^{(1-j)})^i\\
&=\sum_{j\ge0}\frac{c_j}{2^h}\frac{(2^{1-j})^{maxh}-(2^{1-j})^{h}}{(2^{1-j})-1}\\
&=\sum_{j\ge 0}c_j(\frac{2^{(1-j)maxh}}{2^{1-j}-1}2^{-h}-\frac{1}{2^{1-j}-1}2^{-jh})
\end{aligned}
\]
答案即\(F_1(0)\),\(\sum c_i\)
PS:\(c_0\)没用
harmakik的更多相关文章
随机推荐
- [Oralce][InMemory]如何确定一个表已经被Populate 到In Memory 中?
[Oralce][InMemory]如何确定一个表已经被Populate 到In Memory 中? 以如下方法来查看 POPULATE_STATUS 是不行的. SQL> select ins ...
- 使用Pandas_UDF快速改造Pandas代码
1. Pandas_UDF介绍 PySpark和Pandas之间改进性能和互操作性的其核心思想是将Apache Arrow作为序列化格式,以减少PySpark和Pandas之间的开销. Pandas_ ...
- 从统计局采集最新的省市区县数据,纯js
本文更新(移步查阅): 19-04-15 新采集了2018的省市区三级坐标和行政区域边界 19-03-22 采集了2018的城市数据 18-11-28 采集了2017的城市数据 数据下载 GitHub ...
- Appium Studio 初体验(windows做ios自动化,录制appium脚本)
偶然的机会遇到了这个工具——Appium Studio, 在官网是这么解释的 Get your Appium testing projects going within minutesInstall ...
- Authorize的Forms认证
页面请求步骤: 1.登录地址: http://localhost:4441/SysLogin/AdminLogin 2.登陆成功地址:http://localhost:4441/Frame/MainF ...
- nginx下目录浏览及其验证功能、版本隐藏等配置记录
工作中常常有写不能有网页下载东西的需求,在Apache下搭建完成后直接导入文件即可达到下载/显示文件的效果;而Nginx的目录列表功能默认是关闭的,如果需要打开Nginx的目录列表功能,需要手动配置, ...
- 【转】GPS定位准确度CEP、RMS
转自:http://blog.sina.com.cn/s/blog_70f96fda0101lcb9.html CEP和RMS是GPS的定位准确度(俗称精度)单位,是误差概率单位.就拿2.5M CEP ...
- 『编程题全队』Beta 阶段用户使用调查报告
目录 一.项目概述 1.1项目名称 1.2项目简介 1.3项目预期达到目标 1.4项目测试方法 二.项目测试过程 2.1测试对象 2.2测试时长 2.3用户测试反馈 一.项目概述 1.1项目名称 本次 ...
- Fortify Scan - Static Code Analyzer
https://software.microfocus.com/en-us/products/application-security-testing/overview https://softwar ...
- idHTTP 向网站发送json格式数据
idHTTP 向网站发送json格式数据 var rbody:tstringstream; begin rbody:=tstringstream.Create('{"name":& ...