一组 hack 数据
  • 板块P1578 奶牛浴场
  • 楼主Piwry
  • 当前回复0
  • 已保存回复0
  • 发布时间2020/7/28 19:01
  • 上次更新2023/11/6 21:56:27
查看原帖
一组 hack 数据
105254
Piwry楼主2020/7/28 19:01

可能只有我的写法会被卡...

AC

输入:

6 6
4
2 3
2 2
2 1
4 1

输出:

20

hack 的假输出:

18

代码思路见这

pic

原因为该程序中排序后点序为 B,D,A,CB, D, A, C (或 D,B,A,CD, B, A, C );并且该程序会跳过 xx 相同的点组 B,D,AB, D, A 的前两个点

而又当发现点 AA 和点 CCyy 坐标一致时,根据算法思路,就会直接跳出循环,不再继续往右拓展

 

从代码思路来说,这样写是错的的原因是因为不能跳过某些点,需要保证所有点都作为极大矩形左/右边上的点(不含顶点)被枚举到;

而对于 xx 坐标相同的一组点,正确的处理方法是在将其中一个点作为矩形左/右边时,直接无视该组其它的点,因为它们的 xx 坐标相同,并不能影响上/下边的位置


解释写的可能有些不太清楚,请见谅qaq

2020/7/28 19:01
加载中...