解題思路:
n和m只有500,一開始以為是n^2的dp
後來在紙上畫了一下,能把兩個端點隔開的障礙連起來就是一條由左下邊界走到右上邊界的路徑。 要使路徑花費最小。
這樣就是乙個很簡單的多源最短路了。
#include
#include
#include
#include
#include
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
using namespace std;
typedef long long ll;
int dirx[4]=;
int diry[4]=;
class node
node(int i,int j,ll w):i(i),j(j),w(w){}
};int n,m;
ll maps[505][505];
ll dis[505][505];
void dij()
for(int i=1;iwhile(!pq.empty())
for(int i=0;i<4;i++)}}
}cout<<-1
}dij();
}}
想起自己還有乙個部落格,咳咳,努力刷題。。。。
acm 菜是原罪啊!
Wannafly交流賽1 D 迷宮2
這是乙個關於二維格仔狀迷宮的題目。迷宮的大小為n m,左上角格仔座標為 1,1 右上角格仔座標為 1,m 左下角格仔座標為 n,1 右下角格仔座標為 n,m 每一格都用 1到10 9之間的整數表示,意義分別為 1為牆壁,0為走道,而1到10 9之間的正整數代表特殊的走道。蜥蜴最初位於迷宮的座標 1,...
Wannafly交流賽1 A 有理數
有乙個問題如下 給你乙個有理數v,請找到小於v的最大有理數。但這個問題的答案對於任意v都是無解的!因為有理數具有稠密性。這意思是,對於任兩個滿足u所以若你說x是答案,那我們總是能找到另外乙個滿足x現在我們不是要問這種只要輸出 no solution 的問題,我們要問乙個稍微難一點的問題如下 給你乙個...
Wannafly交流賽1 牛客網 B 硬幣
蜥蜴的生日快到了,就在這個月底!今年,蜥蜴的快樂夥伴之一壁虎想要送好多個1元硬幣來惡整蜥蜴。壁虎身上目前有的硬幣種類和數量如下 c 1個1元硬幣 c 5個5元硬幣 c 10個10元硬幣 c 50個50元硬幣。壁虎覺得只送c 1個1元硬幣不夠慷慨,想拿一些幣值較大的硬幣去換更多的1元硬幣,於是跑去找一...