bnds 8.25

你说得太对辣發表於2024-08-28

P3072

因為空洞部分不是很好處理,所以考慮繞著外面搜一圈,所以從最外面的草垛的上一個點開始搜,遇到草就讓 \(ans\) 加 1,如果不是草就繼續往外面搜,然後剪一下枝,如果一個不是草的點四周八個格子都不是草,那就不往下搜。

P3073

向周圍四個點連一條邊權為高度差的絕對值的邊,然後最小生成樹即可。

P3074

拓撲排序之後求最大值即可。

P2698

資料結構維護區間最大/最小值,然後二分花盆的長度,\(O(nlogn)\) check即可。

P3049

\(dp_{i,j}\) 表示把 a 陣列前 \(i\) 個和 \(b\) 陣列前 \(j\) 個變為一樣的最小花費,然後可以把 \(a_i\) 拆成 \(i\)\(a_i\),操作變換一下,然後 dp。

P1849

01bfs,求 \((x_0, y_0)\)\((0, 0)\) 的最短路。