BZOJ 4011 HNOI2015 落忆枫音 拓扑序DP

博客探讨了如何解决BZOJ 4011题目的方法,该题目涉及在有向无环图(DAG)中添加边并计算以1为根的树形子图数量。通过朱刘算法的推论,得出原始答案,然后考虑新边引入后不合法方案的排除。采用动态规划(DP)进行计算,定义状态fi表示从某个节点y到节点i的路径上排除中间点的点集贡献,并给出动规方程和初始条件。
摘要由CSDN通过智能技术生成

题目大意:给定一张有向无环图,现在要求加入一条边,求加入后以1为根的树形图个数
首先不考虑加入的这条边,那么这个图是一个DAG
由朱刘算法的推论可知,如果除根节点外每个点都选择一条入边,由于没有环,因此一定会形成一个树形图
因此答案就是 ni=2degreei 其中 degreei 表示第 i 个点的入度
现在加入这条边之后,我们仍然可以套用这个公式,但是这样就会有一些不合法的方案被统计进来,我们需要把这些不合法的方案减掉
一个方案如果不合法,那么一定会形成一个环,而环一定包含新加入的那条边
因此我们减掉的方案其实是:
S

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值