洛谷P3825 [NOI2017]游戏(BZOJ4945)

博客介绍了如何解决洛谷P3825 [NOI2017]游戏问题,利用2-SAT DFS算法进行分析。首先通过建立连边规则处理无特定地图的情况,再探讨有特定地图时如何优化DFS枚举,降低时间复杂度至O(2d(n+m))。
摘要由CSDN通过智能技术生成

2-SAT DFS

洛谷题目传送门
BZOJ题目传送门

每张地图都只有两种车能使用且只能用一辆车,这样的限制满足2-SAT。

设每种地图能使用的两辆车为id[x]和id[x]^1。
先假设没有x地图存在,那么对于一个限制 (x,p,y,q) ( x , p , y , q ) ,我们可以进行如下连边:
1.地图x无法放第p种车。此时略过。
2.地图x可以放第p种车,但是地图y无法放第q种车。此时连一条id[x]->id[x]^1的边(这里的x根据p是第一种还是第二种车来定,下面连边时也一样),表示如果地图x选了p就不满足。
3.地图x可以放第p种车,且地图y可以放第q种车。此时连id[x]->id[y]和id[y]^1->id[x]^1的边。表示如果x选了p那么y必选q,y选了另一种那么x也必选另一种。

然后Tarjan缩点判断即可。单词判断时间复杂度 O(n+m) O ( n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值