zzzYheng 的網誌

網誌

建议开放 QOJ5111 Hack

2025-05-09 08:32:25 By zzzYheng

貌似有一些 AC 的代码可以被 Hack。

比如 https://qoj.ac/submission/217760 可以被如下数据 Hack:

input:
11
2 3 2
3 7 6 5
2 8 4
3 11 10 9
0 1 0
0 1 0
0 1 0
0 0 0
0 1 0
0 1 0
0 1 0

output:
0

answer:
4

https://qoj.ac/submission/354471https://qoj.ac/submission/361935 可以被如下数据 Hack:

input
11
2 2 3
3 5 6 7
2 4 8
3 9 10 11
0 0 1
0 0 1
0 0 1
0 0 0
0 0 1
0 0 1
0 0 1

output:
0

answer:
4

原理大概是如果实现中切第一条线是确定的非特殊斜率,那么可以直接造一排这个斜率的点,然后就会切到两个随机点上,并且之后无法切到任何别的点。

正确的实现应该在切第一条线时使用双关键字 checkmax,这样能保证切到两个凸包端点,简单的实现方法是将切第一条线时的方向向量设为 $(\infty, 1)$。

評論

Qingyu
好 我会去看一下
  • 2025-05-12 17:04:57
  • Reply
zzzYheng
感谢!
  • 2025-05-14 16:09:38
  • Reply

發表評論

可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。

可以用/kel来使用表情 kel。