Hack & 请求撤下题解 & 解惑
查看原帖
Hack & 请求撤下题解 & 解惑
728079
XuYueming楼主2024/7/18 14:40

解惑

bool check(int P[],int u,int v)
{
	return P[v+L[u]]<=P[v] && P[v+R[u]]>=P[v];
}

之所以要取等,是因为 L[u]L[u] 或 R[u]R[u] 可能为 00。所以等价于:

bool check(int P[],int u,int v)
{
	return (!L[u] || P[v+L[u]]<P[v]) && (!R[u] || P[v+R[u]]>P[v]);
}

Hack

那我们自然想到 v+L[u]v + L[u] 或 v+R[u]v + R[u] 可能 ≥106\geq 10^6,越界访问。所以会出现问题。但是现存线性时间复杂度的题解均无判断。有如下 Hack。

额,在这道题的说明与提示,你也可以在这里测试。

针对的是第一篇题解,maowuyou,测试记录。

显然,其他题解,如:RedreamMer、Iratis、da32s1da都是错误的,但是由于众所周知的原因(这咋造数据啊),没有拍出 Hack 数据,但是都是有问题的。

故申请撤下这些题解,并加入 Hack 数据。

2024/7/18 14:40
加载中...