目錄
4.3遞迴
4.4貪心
pat a1070 mooncake (25 分)
pat a1033 to fill or not to fill (25 分)
pat a1033 to fill or not to fill (25 分)
pat a1067 sort with swap(0, i) (25 分)
pat a1038 recover the smallest number (30 分)
遞迴沒有相應的練習挖個坑在這裡,遞迴在樹那邊比較常用。
思想就是取當前狀態下的區域性最優的策略。數學建模用過,主要能證明區域性最優就是全域性最優就可以使用這個方法。
#include#includeusing namespace std;
struct mooncakecake[1010];
bool cmp(mooncake a,mooncake b)
int main()
st[maxn];
bool cmp(station a,station b) //按距離從小到大進行排序
printf("%d",ans);
return 0;
}
從小到大排序後,分負數與正數分比別進行計算,注意就i與j的取值。
#include#includeusing namespace std;
const int maxn=100010;
int pos[maxn]; //存放各數字當前所處的位置編號
int main()
sort(str,str+n,cmp); //排序
string ans; //結果字串
for(int i=0;istring的使用,不太熟練,要好好看看。
4 4 遞迴函式
遞迴函式就是不斷 呼叫自身函式。遞迴需要設定 繼續或終止條件 當條件滿足時繼續或終止遞迴過程。1.遞迴函式的呼叫就是不斷將引數 壓入棧幀 並從當前函式的入口位址繼續執行 2.遞迴函式的返回就是沿著呼叫過程的相反路徑逐層 彈出棧幀 逐層返回上一級 3.遞迴函式的呼叫層級 不宜過深 否則極有可能導致函式...
《演算法筆記》4 3遞迴
一.分治 分治是一種思想,可以用遞迴的方法實現,也可以用非遞迴的方法實現 二.遞迴 自底向上 三.題目 1.全排列 方法一 include using namespace std int n p 11 void generatep int index else if t 0 int main 方法二...
演算法筆記 4 3 遞迴
三.回溯 2.字母全排列 3.數樓梯 總時間限制 1000ms 記憶體限制 65536kb 描述逆波蘭表示式是一種把運算子前置的算術表示式,例如普通的表示式2 3的逆波蘭表示法為 2 3。逆波蘭表示式的優點是運算子之間不必有優先順序關係,也不必用括號改變運算次序,例如 2 3 4的逆波蘭表示法為 2...