60分TLE求助,感觉复杂度也不是很高为什么会TLE,求各位大佬帮忙看看。

P1332 血色先锋队

@[silentzdw](/user/874676) 错了,时间复杂度必定TLE
by dingshengyang @ 2023-08-03 09:15:40


```cpp for (int i = 1; i <= a; i++) { bfs(ai[i]); } ``` 这里错了。应该把所有`ai[i]`全部塞到队列里面统一bfs。
by dingshengyang @ 2023-08-03 09:16:39


@[dingshengyang](/user/302394) 懂嘞,谢谢大佬
by silentzdw @ 2023-08-03 09:30:16


```#include<bits/stdc++.h> using namespace std; int n,m,a,b,xa[250001],ya[250001],xb[250001],yb[250001],maxx[250001]; int main() { scanf("%d%d%d%d",&n,&m,&a,&b); for(int i=1;i<=a;i++)scanf("%d%d",&xa[i],&ya[i]); for(int i=1;i<=b;i++)scanf("%d%d",&xb[i],&yb[i]); memset(maxx,127,sizeof(maxx)); for(int i=1;i<=b;i++) for(int j=1;j<=a;j++) maxx[i]=min(maxx[i],abs(xa[j]-xb[i])+abs(ya[j]-yb[i])); //核心 for(int i=1;i<=b;i++)printf("%d\n",maxx[i]); return 0; }
by Alex_Weia @ 2023-08-03 16:47:51


下我一跳
by _Regenbogen_ @ 2023-08-14 18:08:48


|