廣東工業大學第十三屆景馳埃森哲杯程式設計競賽

2021-08-17 19:33:45 字數 2064 閱讀 6824

做第一題的時候一點思路都沒有,看到第一眼就覺得應該用遞迴,因為我覺得是一種全排列,但是結果沒做出來,最後隊友用找規律的方法做了出來。

而且有乙個點的取值我也不理解,為什麼0級台階時有一種跳法。其實這是個數學問題,類似於c(0,0) = 1, 從0個中取0個,有一種實現的方法,就是乙個也不取。

**如下:

#include

using namespace std;

int main()

}cin>>t;

for(i=0;i>n;

cout<0;}

但是我第乙個思路是使用遞迴來做,結果導致超時了,遞迴**如下:

#include

using

namespace

std;

int calc(int n,int k)

return s;

}int main()

關於遞迴的一點思考:

最近做藍橋杯,很多題都想使用遞迴來做,但是沒有考慮到複雜度的問題,結果可能會導致超時或者爆棧,這是使用遞迴必須要注意的。

例如本體如果使用遞迴求解,複雜度為 n + n的2次方 +n的三次方 …+ n的n次方。假如 n為30,肯定會超時。

c. 平分遊戲

d. psd面試

這題從一開始我就沒讀懂題目的意思,根本沒有區分開最長回文子串行和最長回文子串的區別,建議不懂得旁友也趕緊區分一下。

最長回文子串一定是連續的乙個串,而最長回文子串行則不需要是一整個串,例如 「abc,ba」 的最長回文子串的長度是1,而最長回文子串行的長度是 5. (abcba) 最長回文子串行可以刪除不回文的字元。

求最長回文子串行有兩種做法

1.遞迴

#include

#include

#include

using

namespace

std;

int maxn(int a,int b)

int calc(string s,int begins,int ends)

if(begins>ends)

if(s[begins] == s[ends])

else

return sum;

}int main()

else temp+=s[i];

}// coutcout

0;}

以上,沒錯 我拿去交了以後又t了,讓我們來看看這段**的複雜度,如果字串的長度為 1000 ,那麼使用遞迴的方法則時間複雜度為 1+2的2次方+2的三次方+。。。2的400次方+。。。

總之就是指數**疊加增長,藍橋杯坑我,為啥老讓我寫遞迴,明明這麼慢。

第二種方法 動態規劃

我對動態規劃不太熟,一星期以前剛做了第一道動態規劃的題目。

然後在網上找了講dp求子序列的**

大致思想和遞迴是差不多的。

if string[i]  = string[j]  dp[i][j] = dp[i+1][j-1];

else dp[i][j] = max (dp[i][j-1],dp[i+1][j]);

當 i<=j 的時候,上式成立。且當 i == j的時候 dp[i][i] =1;

而且 i的變化方向 必須是從大到小,j的方向必須是從小到大。

這是由上述方程決定的。 dp的複雜度為 (n的平方)

#include

#include

#include

#include

#include

using

namespace

std;

int max2(int a,int b)

int calc(string s)

for(i=length -1;i>=0;i--)

}return dp[0][length-1];

}int main()

else temp +=s[i];

}//coutcout

0;}

廣東工業大學程式設計競賽決賽 C

小時候,我只能一階一階得爬樓梯,後來,我除了能一次爬一階,還可以一次爬兩階,到現在,我最多一次可以爬三階。那麼現在問題來了,我想爬上 n層樓,相鄰樓層之間有一段樓梯,雖然我一次可以爬 1個台階 2個台階和 3個台階,但是我在i與 i 1層之間的樓梯上時,我不能跨越到 i 1與 i 2層之間的樓梯。現...

廣東工業大學賽 H tmk買禮物

今天是校賽的日子,為了慶祝這麼喜慶的日子,tmk打算買些禮物給女票 lsh慶祝一下。tmk進入了雪梨超市,然後剛踏入的一瞬間,店主就對 tmk說 恭喜你成為了本店第 2147483647 位顧客,本店在搞乙個活動,對本店第 2147483647 位顧客進行贈送活動。你先看看你有多少錢?tmk一摸口袋...

19廣東工業大學 牛客J H補題

害!很久之前刷了一些題目,但是由於課程實在是沒時間好好品題 其實是太懶了 決心好好嚼一些當時沒有ac的題目!注 我是ac一題然後寫一題報告的,可能演算法有錯誤或者演算法不是最優,本人小白也請見諒 xd ac include using namespace std typedef long long ...