专栏文章

ARC125E 题解

AT_arc125_e题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mipc169i
此快照首次捕获于
2025/12/03 09:32
3 个月前
此快照最后确认于
2025/12/03 09:32
3 个月前
查看原文
在下文的叙述中,默认 ii 为小孩,jj 为零食。
有一个显而易见的网络流:左部点为小孩,右部点为零食,SSiicic_i 大小的边,iijjbib_i 大小的边,jjTTaja_j 大小的边。求最大流即可。时间复杂度 O(n4)O(n^4),过不了一点。
考虑最大流转最小割。不难发现对于任何一个 ii,其要么断掉 SiS \rightarrow i 的边,要么对于每一个没有断掉 jTj \rightarrow Tjj,断掉 iji \rightarrow j
由于每个 jj 除了 aja_j 不等外其余地位相等,考虑起来最简单,所以先从少到多枚举 jTj \rightarrow T 的断边。显然在给定断边条数的情况下,应该首先断最小的。
现在假设有 njn_j 种零食。每个 ii 要么断掉所有 jTj \rightarrow T 没有被断掉的 iji \rightarrow j 边,消耗 binjb_in_j,要么断掉 SiS \rightarrow i 边,消耗 aia_i。不难发现随着 njn_j 的减小,ii 的贡献会由 aia_i 变成 binjb_in_j。在每次转折时维护即可。时间复杂度 O(nlogn)O(n \log n)

评论

0 条评论,欢迎与作者交流。

正在加载评论...