【51nod1299】监狱逃离(树形DP)

点此看题面

大致题意: 在一棵树中有 N N N条边连接 N + 1 N+1 N+1个节点,现在已知这棵树上的 M M M个节点,要求封住最少的节点,使这 M M M个节点中的任意一个节点无法到达叶子节点,若能办到输出最少封住的节点数,若不能输出 − 1 -1 1

这道题目的正解是树形 D P DP DP h l 666 hl666 hl666大佬说用 O ( n 2 m ) O(n^2m) O(n2m)的最小割也可以过这道题,不过这篇博客并不讨论这种做法,他能做出来是因为他是常数之神)。

树形 D P DP DP,一般都将状态由子节点向父节点转移,这题当然也不例外。

我们可以用 f f f数组来存储每一个节点的状态:

f [ i ] = 0 f[i]=0 f[i]=0,则说明该节点已被完全封死,相当于既不可能有犯人到达这里,也不可能从这里到达出口

f [ i ] = 1 f[i]=1 f[i]=1,则说明可以从这个节点到达叶子节点

f [ i ] = 2 f[i]=2 f[i]=2<

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值