JZOJ 小奇採藥 (深度優先搜尋 dfs)

2021-10-03 02:53:25 字數 1073 閱讀 8745

小奇是只天資聰穎的喵,他的夢想是成為世界上最偉大的醫師。

為此,他想拜喵星球最有威望的醫師為師。

醫師為了判斷他的資質,給他出了乙個難題。

醫師把他帶到乙個到處都是草藥的山洞裡對他說:

「小奇,這個山洞裡有一些不同的草藥,採每一株都需要一些時間,每一株也有它自身的價值。

我會給你一段時間,在這段時間裡,你可以採到一些草藥。

如果你是乙隻聰明的喵,你應該可以讓採到的草藥的總價值最大。」

#include

using

namespace std;

long

long ans=0;

long

long sw[

205]

,sv[

205]

;int n;

long

long m;

struct node

a[205];

inline

intread()

//快讀

while

(ch>=

'0'&&ch<=

'9')

return x*f;

}bool

mycmp

(node a,node b)

void

dfs(

int x,

long

long sumw,

long

long sumv)

if(sumw+a[x]

.w<=m)

dfs(x+

1,sumw+a[x]

.w,sumv+a[x]

.v);

//如果可以取當前這個,遞迴

dfs(x+

1,sumw,sumv)

;//不取

}int

main()

ans=0;

dfs(1,

0,0)

;printf

("%lld\n"

,ans)

;//輸出最優值

}return0;

}

小談深度優先搜尋

最近讀了一本演算法書,書中提到了深度優先演算法,於是我就整理了一下。引入小題 解決方案 這裡先使用最簡單最常用的窮舉法時行求解。此 中的book陣列起到了標記的作用,可以參考桶裝法排序了解標記的好處和作用 include int main 將獲得的序列標記一下,方便判斷是否全為不一樣的數字 for ...

深度優先搜尋的小探索

第一次寫部落格,還不清楚套路,請見諒。關於dfs我在洛谷上看到乙個模板,覺得挺好 int search int t else 深度優先搜尋在很多題目會涉及,這裡附上洛谷p1605迷宮 給定乙個nm方格的迷宮,迷宮裡有t處障礙,障礙處不可通過。給定起點座標和終點座標,問 每個方格最多經過1次,有多少種...

深度優先搜尋 廣度優先搜尋(解決小哈)

問題省略 思路 讓小哼往右邊走,直到走不通的時候再回到這裡,再去嘗試另乙個方向。規定乙個順序,按順時針方向來嘗試 即按照右 下 左 上的順序去嘗試 先 檢查小哼是否已經到達小哈的位置,如果沒有到達則找出下一步可以走的地方。為了解決這個問題,此處dfs 函式只需要維護3個引數,分別是x座標 y座標 以...