社区讨论

警示后人(关于 wqs 二分和排序先后)

P5633最小度限制生成树参与者 4已保存回复 3

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@m5zctuh9
此快照首次捕获于
2025/01/16 21:16
去年
此快照最后确认于
2025/11/04 11:29
4 个月前
查看原帖
  1. wqs 二分的时候,有可能出现不能恰好达到 k 的情况。此时意味者这个凸包中 k1,k,k+1k−1,k,k+1 三点形成了一条直线。此时取哪一侧都是对的。但是要注意,最后的答案是 sumvalksum-val*k 而不是 sumvalcntsum-val*cntcntcnt 表示 check 跑出来的结果)。否则 hack 数据会 wa 第三个点。
  2. 由此,我们产生了两种二分判定答案的方式:if(cnt<=k) 或者 if(cnt>=k)。需要注意的是,如果使用第一种判定方式,需要在归并排序时,当边权相同时将不与 s 相连的边放在前面,表示“我想尽量让答案小,其实答案有可能比 cnt 更大的”。使用第二种时则要放在后面。否则 hack 数据会 wa 后三个点。

回复

3 条回复,欢迎继续交流。

正在加载回复...