Más contenido relacionado
La actualidad más candente (20)
Más de HCPC: 北海道大学競技プログラミングサークル (20)
最短経路問題 & 最小全域木
- 50. •
50
INF INF INF INF INF
INF INF INF
INF INF INF
INF INF INF INF
INF INF
INF INF INF
INF
- 144. •
144
dp
0 90 210 120
90 0
210 0 90 30
90 0 210 120 210
210 0
120 30 0 90
120 90 0 120
120 0 150 180
150 0
210 180 0
- 145. 145
•
dp
0 90 210 120
90 0
210 0 90 30
90 0 210 120 210
210 0
120 30 0 90
120 90 0 120
120 0 150 180
150 0
210 180 0
for(int k = 0; k < V; k++)
for(int i = 0; i < V; i++)
for(int j = 0; j < V; j++)
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j]);
- 146. 146
•
dp
0 90 150 240 450 120 210 330 480 450
90 0 240 330 540 210 300 420 570 540
150 240 0 90 300 30 120 240 390 300
240 330 90 0 210 120 120 240 390 300
450 540 300 210 0 330 330 450 600 420
120 210 30 120 330 0 90 210 360 330
210 300 120 120 330 90 0 120 270 300
330 420 240 240 450 210 120 0 150 180
480 570 390 390 600 360 270 150 0 300
450 540 300 210 420 330 300 180 330 0
- 147. for(int k = 0; k < V; k++)
for(int i = 0; i < V; i++)
for(int j = 0; j < V; j++)
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j]);
•
i j
k
• O( 𝐕 𝟑)
147
- 148. for(int k = 0; k < V; k++)
for(int i = 0; i < V; i++)
for(int j = 0; j < V; j++)
if(dp[i][k] != INF && dp[k][j] != INF)
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j]);
•
•
148
- 186. U
X
X U\X e
e T’
1. T’ e
2.
X U\X e e’
3. T’ e’ e
4. e e’ e
e
186
- 187. U
X
X U\X e
e T’
1. T’ e
2.
X U\X e e’
3. T’ e’ e
4. e e’ e
e
187
e
e
- 188. U
X
X U\X e
e T’
1. T’ e
2.
X U\X e e’
3. T’ e’ e
4. e e’ e
e
188
T‘
- 189. U
X
X U\X e
e T’
1. T’ e
2.
X U\X e e’
3. T’ e’ e
4. e e’ e
e
189
T‘ + e
e
e’
- 190. U
X
X U\X e
e T’
1. T’ e
2.
X U\X e e’
3. T’ e’ e
4. e e’ e
e
190
T‘ − e’ + e
e