HDU中的遞迴

2021-09-06 01:09:23 字數 862 閱讀 1494

//made by syx

//time 2023年8月15日 09:01:57

//1465 不容易系列之一

////

總結:遞推求解的基本方法:

首先,確認:能否容易的得到簡單情況的解?

然後,假設:規模為n-1的情況已經得到解決。

最後,重點分析:當規模擴大到n時,如何列舉出所有的情況,並且要確保對於每一種子情況都能用已經得到的資料解決。

強調:

1、程式設計中的空間換時間的思想

2、並不一定只是從n-1到n的分析

//1465 不容易系列之一

//基本形式:d[1]=0;   d[2]=1

//遞迴式:d[n]= (n-1)*( d[n-1] + d[n-2])

//這就是著名的錯排公式

1、當n=1和2時,易得解~,假設f(n-1)和f(n-2)已經得到,重點分析下面的情況:

2、當有n封信的時候,前面n-1封信可以有n-1或者 n-2封錯裝

3、前者,對於每種錯裝,可從n-1封信中任意取一封和第n封錯裝,故=f(n-1)*(n-1)

4、後者簡單,只能是沒裝錯的那封和第n封交換信封,沒裝錯的那封可以是前面n-1封中的任意乙個,故= f(n-2) * (n-1)

#include 

int main()

;int i , n;

for(i=3; i<21; i++)

while(scanf("

%d",&n) != eof)

return

0;}

hdu 1066 數論 遞迴

hdu 1066 last non zero digit in n 起首引用下leemars的呈報 因為 2 n 是以4為輪迴節的 並且table n 是以10為輪迴節的 所以從10開端 f n 5 table n的尾數 6 f n n 10 2 n 5 mod 4 右邊的式子除了f n 5 外 是...

HDU1016 簡單遞迴 DFS

題意 乙個環,相鄰相加是素數。思路 直接深搜就好了。output limit exceed 了好幾發。因為那個while裡面的scanf前面的 後來搜了output limit exceed的常見錯誤,還有輸入輸出,所以主要看下輸入輸出那邊有沒有寫錯吧,還有寫的時候也要及其避免出現錯誤。includ...

HDU 5728 PowMod(數論 遞迴)

description 定義現給出n,m,p,求 input 第一行為一整數t表示用例組數,每組用例佔一行包括三個整數n,m,p t 100,1 n,m,p 10 7 output 對於每組用例,輸出ans sample input 1 2 6 1 100 9 sample output 4 7 s...