关于本题一种做法
查看原帖
关于本题一种做法
369399
yizhiming楼主2024/7/6 09:38

不太确定是正解的特殊实现还是奇怪做法,翻CF提交记录看到的

常规做法是把ABC先选出来满足 sumC≥sumC\geq 和的一半,然后通过交换集合内元素调整使得 CC 最后满足他条件。

然后我看到的做法是先从小到大排序,令 sis_i 表示 aia_i 的前缀和,然后从 nn 到 11 贪心,每次枚举 ABCABC ,若当前集合选取 aia_i 后,剩余的位置全选最小,即 sna−∣A∣s_{na-|A|},此时若不超过一半,则把 aia_i 选进当前集合,若某一时刻三个集合都选不了就无解。

显然存在一种合法的选取方案是有解的充要条件。

我的问题是为什么选取 ii 的时候任选一个合法集合即可

2024/7/6 09:38
加载中...