wrong answer Too Long on Line 2蒟蒻求助

P3545 [POI2012] HUR-Warehouse Store

@[星痕Force_A](/user/250036) ```cpp for(long long j=i-1;j>=1;j--){ if(ke[j]==y){ v[j]=0; break; } ``` 因为可能有许多 $ke$ 中的元素是相同的,所以可能导致您把原本 $v$ 就是 $0$ 的元素再次置成 $0$,该删的没删,所以输出太长
by John_yangliwu @ 2021-02-08 09:33:23


@[星痕Force_A](/user/250036) 解决的方法就是优先队列存一个元素的数量与在 $ke$ 中的下标,这样就能 $O(1)$ 删除并且不漏删了。
by John_yangliwu @ 2021-02-08 09:35:20


@John_yangliwu谢谢dalao,已经AC
by Authentic_k @ 2021-02-08 09:57:25


|