城市統計 BFS

2022-09-03 06:57:10 字數 1566 閱讀 6687

中山市的地圖是乙個n∗

n' role="presentation">n∗n

n∗n的矩陣,其中標號為

1' role="presentation">1

1的表示商業區,標號為

0' role="presentation">0

0的表示居民區。居民區

i' role="presentation">i

i到商業區的距離指的是到距離它最近的商業區j的距離,而你將統計的是對於城市中的每乙個區域

k' role="presentation">k

k,以它為中心,所有滿足ma

x(|x

k−xm

|,|y

k−ym

|)≤r

' role="presentation">max

(|xk

−xm|

,|yk

−ym|

)≤rm

ax(|

xk−x

m|,|

yk−y

m|)≤

r的區域m到商業區距離之和。

70分: o(

n4)' role="presentation">o(n

4)o(

n4)直接暴力求解即可。

100分:bf

s' role="presentation">bfs

bfs首先在讀入的時候,若這個點是商業區,就先將它入隊,之後跑一邊bf

s' role="presentation">bfs

bfs,求出每個居民區到商業區的距離(由於每個點只要訪問1次,所以時間複雜度為o(

n2)' role="presentation">o(n

2)o(

n2)),之後用二維字首和加速,輸出每個位置的答案。總時間複雜度為o(

tn2)

' role="presentation">o(t

n2)o

(tn2

)。

#include 

#include

#include

using

namespace

std;

const

int dx=;

const

int dy=;

int a[301][301],b[301][301],p[301][301],t,n,r,sum,head,tail,state[500001][3];

intabs(int x)

int minn(int x)

int maxn(int x)

void bfs()

}while (headreturn;

}int main()

} bfs();

for (int i=1;i<=n;i++)

for (int j=1;j<=n;j++)

b[i][j]+=b[i-1][j]+b[i][j-1]-b[i-1][j-1]; //字首和

for (int i=1;i<=n;i++)

putchar(10);

}return

0;}

BFS標記(BFS染色)

經過多年的征戰,牛牛在與牛可樂的對決漸漸處於下風,於是牛牛決定對牛可樂來一次大圍剿。戰場可以看作一張 n m的地圖,牛可樂的士兵只能上下左右移動,不能斜著移動,牛牛決定挖一圈陷阱包圍牛可樂的士兵。牛牛想知道包圍牛可樂的士兵所需要的最少的陷阱數量是多少 劃掉,具體請看update 但是牛牛並不會排兵布...

IOS 定位城市和切換城市

1.ios中自帶的地圖為高德地圖 1 新增框架corelocation.framework框架。2 新增標頭檔案 import 3 新增 cllocationmanagerdelegate 4 在info.plist裡新增 privacy location always usage descript...

智慧型城市 VR全景智慧型城市 虛擬實境智慧型城市

vr全景智慧型城市是資訊前進的方向,是網際網路的實際使用對未來的展望。它更適用於普通群眾,有更直觀的展示,更有吸引力和價值。易麥vr使用三維視覺技術通過計算機技術來顯示互動性 現實性 虛擬實境 720 物體 和其他功能的所有方面,以確保最重要的智慧型城市的可持續發展。vr全景智慧型城市的運用 vr全...