洛谷$P4099\ [HEOI2013]\ SAO\ dp$
正解:树形$dp$
解题报告:
考虑设$f_i$表示点$i$的子树内的拓扑序排列方案数有多少个.
发现这样不好合并儿子节点和父亲节点.于是加一维,设$f_{i,j}$表示点$i$的子树中点$i$在拓扑序中排名为$j$的拓扑序排列方案数有多少个$QwQ$
然后说下儿子节点$x$和父亲节点$y$的合并,就枚举下点$y$前面有多少个原属于$y$的点有多少个原属于$x$的点.
若要求是$x>y$,就$f_{y,k}=\sum_{i=1}^{k} \sum_{j=k-i+1}^{size_x} f_{y,i}\cdot f_{x,j}\cdot C(k-1,i-1)\cdot C(size_u+size_v-k,size_u-i)$(昂这个$size$是当前的$size$鸭$QwQ$.
大概解释下,,,?就枚举原$y$的排名是$i$,原$x$的排名是$j$,目标状态$y$的排名是$k$.
然后$y$之前有$C(k-1,i-1)$的方案数,$y$之后有$C(size_u+size_v-k,size_u-i)$的方案数,总的就$f_{y,i}\cdot f_{x,j}\cdot C(k-1,i-1)\cdot C(size_u+size_v-k,size_u-i)$.然后关于范围这个随便算下就星趴,,,?首先$i$是显然的?然后$j$有因为要求$x$在$y$后面所以就要$j-1\geq k-i,j\geq k-i+1$,$over$
$x<y$差不多,不说了$QwQ$
然后发现复杂度不太可,考虑咋优化$QwQ$.
发现转移式中关于$j$只出现了一个$f_{x,j}$.所以直接前缀和优化掉就完事$QwQ.$
然后就欧克了,$over$
对了这题有道很相似的题改下就双倍经验辣,这儿$QwQ$
洛谷$P4099\ [HEOI2013]\ SAO\ dp$的更多相关文章
- 洛谷 P4099 - [HEOI2013]SAO(树形 dp)
题面传送门 题意: 有一个有向图 \(G\),其基图是一棵树 求它拓扑序的个数 \(\bmod (10^9+7)\) \(n \in [1,1000]\) 如果你按照拓扑排序的方法来做,那恐怕你已经想 ...
- 洛谷P4099 [HEOI2013]SAO(树形dp)
传送门 HEOI的题好珂怕啊(各种意义上) 然后考虑树形dp,以大于为例 设$f[i][j]$表示$i$这个节点在子树中排名第$j$位时的总方案数(因为实际只与相对大小有关,与实际数值无关) 我们考虑 ...
- P4099 [HEOI2013]SAO
P4099 [HEOI2013]SAO 贼板子有意思的一个题---我()竟然没看题解 有一张连成树的有向图,球拓扑序数量. 树形dp,设\(f[i][j]\)表示\(i\)在子树中\(i\)拓扑序上排 ...
- P4099 [HEOI2013]SAO(树形dp)
P4099 [HEOI2013]SAO 我们设$f[u][k]$表示以拓扑序编号为$k$的点$u$,以$u$为根的子树中的元素所组成的序列方案数 蓝后我们在找一个以$v$为根的子树. 我们的任务就是在 ...
- [BZOJ3167][P4099][HEOI2013]SAO(树形DP)
题目描述 Welcome to SAO ( Strange and Abnormal Online).这是一个 VR MMORPG, 含有 n 个关卡.但是,挑战不同关卡的顺序是一个很大的问题. 有 ...
- 洛谷 4099 [HEOI2013]SAO——树形DP
题目:https://www.luogu.org/problemnew/show/P4099 结果还是看了题解才会…… 关键是状态,f[ i ][ j ] 表示 i 子树. i 号点是第 j 个出现的 ...
- luogu P4099 [HEOI2013]SAO
传送门 吐槽题目标题 这个依赖关系是个树,可以考虑树型dp,设f_i表示子树i的答案 因为这是个序列问题,是要考虑某个数的位置的,所以设\(f_{i,j}\)表示子树i构成的序列,i在第j个位置的方案 ...
- 【做题记录】 [HEOI2013]SAO
P4099 [HEOI2013]SAO 类型:树形 \(\text{DP}\) 这里主要补充一下 \(O(n^3)\) 的 \(\text{DP}\) 优化的过程,基础转移方程推导可以参考其他巨佬的博 ...
- 3167: [Heoi2013]Sao [树形DP]
3167: [Heoi2013]Sao 题意: n个点的"有向"树,求拓扑排序方案数 Welcome to Sword Art Online!!! 一开始想错了...没有考虑一个点 ...
随机推荐
- 04使用harbor配置私仓
安装harbor之前,需要安装好Python,Docker,DockerCompose.Python需要2.7以上的版本,Docker需要1.10以上的版本:Docker Compose 需要1.6. ...
- ImportError: No module named tensorflow.compat.v1 忽略已经安装的某个包版本 忽略已安装版本
ImportError: No module named tensorflow.compat.v1 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声 ...
- 从 Apache ORC 到 Apache Calcite | 2019大数据技术公开课第一季《技术人生专访》
摘要: 什么是Apache ORC开源项目?主流的开源列存格式ORC和Parquet有何区别?MaxCompute为什么选择ORC? 如何一步步成为committer和加入PMC的?在阿里和Uber总 ...
- 学习HTML<audio>标签
首先来看下这个例子: <audio controls autoplay="autoplay"> <source src="horse.ogg" ...
- poj 1263 Reflections (Simple Geometry)
1263 -- Reflections 简单计算几何.题目给出射线以及若干个不相交的圆,求出射线会在哪些圆上反弹,依次写出反弹球的编号. 代码如下: #include <cstdio> # ...
- DispatcherTimer 应用实例
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); //实例化 Dispat ...
- windonws卸载已安装opencv,安装新版本
主要步骤: 步骤一:卸载opencv-python(如果还有安装opencv-contrib-python,也需要卸载) 步骤二:安装新的opencv-python及opencv-contrib-py ...
- 史上最全的MYSQL备份方法
本人曾经 用过的备份方式有:mysqldump.mysqlhotcopy.BACKUP TABLE .SELECT INTOOUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文 ...
- win10 uwp 依赖属性
本文告诉大家如何使用依赖属性,包括在 UWP 和 WPF 如何使用. 本文不会告诉大家依赖属性的好处,只是简单告诉大家如何使用 在 UWP 和 wpf ,如果需要创建自己的依赖属性,可以使用代码片,在 ...
- H5 移动端获取当前位置
3种方法:1.H5自带的方法,获取经纬度2.通过地图提供的JS.获取位置3.通过微信的API(这个需要公众号 / 小程序) 1.通过H5自带的获取经纬度的方法 优点: 需要引用的资源较少,H5自带的方 ...