原创 計蒜客:家譜---dfs

題目描述: 輸入一個n,接下來有n-1行。 輸入父親和兒子 求n個人,每個人的直系後代有多少。 數據樣例解釋: 1有3個直系後代(自己有2個親孩子,其中2有一個親孩子); 2有1個直系後代(4沒有直系後代了); 3沒有直系後代;

原创 計蒜客 藍橋杯模擬 快速過河---dp

計蒜客 藍橋杯模擬 快速過河—dp 題目描述: 在一個夜黑風高的晚上,有 nn 個小朋友在橋的這邊,現在他們需要過橋,但是由於橋很窄,每次只允許不超過兩人通過,他們只有一個手電筒,所以每次過橋後,需要有人把手電筒帶回來,第 ii

原创 計蒜客:撿水果---DP

計蒜客:撿水果—DP 題目描述: 蒜頭在玩一款遊戲,他在一個山頂,現在他要下山,山上有許多水果,蒜頭每下一個高度就可以撿起一個水果,並且獲得水果的能量。山的形狀如圖所示 3 1 2 6 2 3 3 5 4 11234 這是一個高

原创 完全揹包---dp

完全揹包—dp 題目描述: 有 N 種物品和一個容量是 V 的揹包,每種物品都有無限件可用。 第 i 種物品的體積是 vi,價值是 wi。 求解將哪些物品裝入揹包,可使這些物品的總體積不超過揹包容量,且總價值最大。 輸出最大價值。

原创 蒜頭君闖關---dp

蒜頭君闖關—dp 題目描述: AC代碼: //蒜頭君闖關 #include <stdlib.h> #include <stdio.h> #include <algorithm> #include <iostream> #inc

原创 計蒜客:一維座標的移動---bfs

計蒜客:一維座標的移動—bfs 題目描述: 在一個長度爲 n 的座標軸上,蒜頭君想從 A 點 移動到 B 點。他的移動規則如下: 向前一步,座標增加 1。 向後一步,座標減少 1。 跳躍一步,使得座標乘 2。 蒜頭君不能移動到座

原创 計蒜客:求迷宮解法方案數---dfs

題目描述: 小信是一個玩迷宮的高手,天下還沒有能難住他的迷宮。但是總有人喜歡刁難小信,不停的給小信出難題。這個出題的人很聰敏,他知道天下還沒有能難住小信的迷宮。所以他便轉換思維問小信,在不走重複路徑的情況下,總共有多少不同可以到達

原创 計蒜客:密碼鎖---bfs

計蒜客:密碼鎖—bfs 題目描述: 現在一個緊急的任務是打開一個密碼鎖。密碼由四位數字組成,每個數字從1到9進行編號。每次可以對任何一位數字加1或減1.當將9加1時,數字變爲1,當1減1時,數字變爲9.還可以交換相鄰的數字,每一

原创 蒜頭君開公司---dfs

蒜頭君開公司 題目描述: 2020 年,蒜頭君自己開了一家擁有 N 個員工的大公司。每天,蒜頭君都要分配 N 項工作給他的員工,但是,由於能力的不同,每個人對處理相同工作所需要的時間有快有慢。衆所周知,蒜頭君是一個非常重視效率的

原创 計蒜客:王子救公主---dfs

題目描述: 一天,蒜頭君夢見自己當上了王子,但是不幸的是,自己的公主被可惡的巫婆抓走了。於是蒜頭君動用全國的力量得知,自己的公主被巫婆抓進一個迷宮裏面。由於全國只有蒜頭君自己可以翻越迷宮外的城牆,蒜頭君便自己一人走上的拯救自己公

原创 牆壁塗色---dp

題目描述: 蒜頭君覺得白色的牆面好單調,他決定給房間的牆面塗上顏色。他買了 3 種顏料分別是紅、黃、藍,然後把房間的牆壁豎直地劃分成 n 個部分,蒜頭希望每個相鄰的部分顏色不能相同。他想知道一共有多少種給房間上色的方案。 例如,

原创 最長公共子序列---dp

題目描述: 最長公共子序列(Longest Common Subsequence,簡稱 LCS)是一道非常經典的面試題目,因爲它的解法是典型的二維動態規劃,大部分比較困難的字符串問題都和這個問題一個套路,比如說編輯距離。而且,這

原创 多重揹包問題---dp

多重揹包問題—dp 題目描述: 有 N 種物品和一個容量是 V 的揹包。 第 i 種物品最多有 si 件,每件體積是 vi,價值是 wi。 求解將哪些物品裝入揹包,可使物品體積總和不超過揹包容量,且價值總和最大。 輸出最大價值。

原创 01揹包問題---dp

01揹包問題—dp 題目描述: 有n個物品,它們有各自的體積和價值,現有給定容量的揹包,如何讓揹包裏裝入的物品具有最大的價值總和? 樣例輸入:【4代表物品個數,8代表體積大小,下面4行代表第i個物品的體積和價值】 4 8 2

原创 求最長上升子序列的長度---dp

求最長上升子序列的長度—dp 題目描述: 求最長上升子序列的長度:【注意是連續的子序列】 比如:34125609 最長的子序列爲:34569或者12569(答案不唯一),所以結果是5 第一種解法:dfs【時間可能長一些】 //最長