2016春季訓練 搜尋和優先佇列

2021-07-10 07:21:00 字數 701 閱讀 5595

bfs這裡不用說,搜尋去求乙個最優情況的,往往使用bfs

下面分析一下優先佇列的作用:

由於我們是要尋找到達的最小時間,這裡面是有乙個權值的不同的,所以我們不能簡單的認為先出佇列發就是我們權值最小的(佇列中往往是這樣,先出佇列的是我們先到的),但是這一次不是這樣,所以要對於權值進行排序。

**(vj):

#include #include #include #include #include using namespace std;  

const int maxn = 510;

struct point

}st,ed;

char map[maxn][maxn];

int vis[maxn][maxn];

int dx[4]=;

int dy[4]=;

int n, m, k;

void bfs()

for (int i=0;i<4;i++)

else if (map[nx][ny] == '@')

q.push(tmp);

} }

} }

int main()

} }

bfs();

} return 0;

}

2016春季訓練 貪心

這一題理解題意是乙個問題,也就說,我們先知道了全年的情況,下面我們只要連續五個月計算盈虧,那麼賺了,則一定是s,虧了就一定是d,所以理論上,我們可以計算出前五個月的情況的。include include using namespace std int main long long s,d while...

2016寒假訓練 搜尋

一開始做這個題目還是覺的挺煩的,主要是要加個四個變數,然後比較,比較起來還比較麻煩。繞口令,呵呵 首先,不需要找到的次序,而且m 20,所以不會有爆棧的風險。然後就是怎麼去解決的問題,因為所有的木頭都是整數,所以我們考慮這個問題,所以我們可以預見的是,一旦總和 4不為0的話,則一定是不可能。下面就是...

訓練一 深度優先搜尋

例1.poj 1979 red and black 題意 由 為起點,周圍最多有 跟它相連通,不能越過 本身也算乙個 輸入輸出 sample input 6 9.11 9 11 6 7 7.0 0sample output 4559613 include using namespace std ch...