1 1 1
1 1 1
1 1 1
1.簡單遞迴。設某城市為當前城市,搜尋所有有路相連通的城市,並將其儲存到vector中。將當前城市標誌為已使用,遍歷vector中的下乙個城市,此時遞迴查詢與該城市相連的所有城市。當某個城市的所有相連的城市都遍歷完一遍後,將該城市標誌為未使用。
2.遞迴結束的條件為找到終點城市
#include
#include
using
namespace
std;
static
int n,a,b;
void findpath(int **p,bool *flag,int currentcity,int &path)
else
for(vector
::iterator it=nextcity.begin();
it!=nextcity.end();it++)
findpath(p,flag,*it,path);
flag[currentcity]=false;//該城市的所有方向搜尋完畢,將該城市從目標搜尋城市中移除
}}int main()}}
flag[a]=true;
for(vector
::iterator it=nextcity.begin();
it!=nextcity.end();it++)
cout
for(int i=0;idelete p[i];
return
0;}
動態規劃之路徑規劃01
前言 雖然自己做過幾個動態規劃的題目,看過題解後也能做出幾個二維的路徑問題,主要是對dfs進行優化。但是還是有點知其然不知其所以然的感覺,有兩個月左右沒做dp,現在讓我寫對乙個二維路徑dp都困難。所以開這個專題系統學習dp。感謝 宮水三葉 本筆記根據三葉大佬的刷題日記進行學習記錄。動態規劃解決什麼樣...
動態規劃(二)
本節實現乙個動態規劃問題實現。具體問題見上一節 的第三個栗子。這裡再次簡述 在乙個時刻系統可以觀察到的有兩個量 剩餘資料報數量m以及通道狀態h。因此我們將二者聯合組成系統狀態 m,h 那麼在每乙個時隙系統總共有2 m 1 個狀態。每乙個狀態可能跳轉到下乙個時隙的某乙個或者一些狀態。跳轉判斷條件有 在...
動態規劃(二)
之前的兩個問題都是用動態規劃方法解決的,那麼什麼情況下需要使用動態規劃呢?適應動態規劃方法求解的最優化問題應該具備的兩個要素 最優子結構和子問題重疊。用動態規劃方法求解最優化問題的第一步就是刻畫最優解的結構。如果乙個問題的最優解包含其子問題的最優解,就稱此問題具有最優子結構性質。使用動態規劃方法時,...