AtCoder ABC320 G 二分 + 二分图匹配

文章讲述了如何解决AtCoderABC320G中的Hard问题,利用单调性和二分法将字符串与时间点匹配问题转化为寻找增广路,通过匈牙利算法实现,时间复杂度为O(dnm+d*n^3*log(n*m))。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题意

传送门 AtCoder ABC320 G Slot Strategy 2 (Hard)

题解

答案满足单调性,二分求解。将问题转化为字符串与时间点的匹配问题,单个字符串代表的节点至多向 n n n 个时间点连边即可,因为剩余 n − 1 n - 1 n1 个字符串至多匹配 n − 1 n - 1 n1 个时间点。每 m m m 段时间至少能匹配一个字符串,故二分上界为 n ⋅ m n \cdot m nm。字符串代表的二分图的一侧节点个数为 n n n,边集上界为 n 2 n^2 n2,仅从字符串节点一侧寻找增广路,匈牙利算法可以做到 O ( n 3 ) O(n^3) O(n3)。总时间复杂度 O ( d n m + d n 3 log ⁡ ( n ⋅ m ) ) O\Big(dnm + dn^3\log (n\cdot m)\Big) O(dnm+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值