BZOJ4926 皮皮妖的遞推

2022-04-30 04:54:08 字數 880 閱讀 5099

第二次亂出題。

為了方便,以m=2為例,把原式變一下形,得f(i)+f(f(i-1))=i

我們先無視掉那個-1,我們發現:誒,這個東西好像斐波那契數列。

具體地,我們用f(n)表示把n用斐波那契數列進行拆分後,每一項的前一項的和。

例:20=13+5+2,f(20)=8+3+1

我們驚奇的發現現在已經可以滿足f(i)+f(f(i))=i這個式子了。

但是現在有個-1,怎麼辦呢,其實很簡單,我們定義斐波那契數列第0項為1即可。

證明:設$g_0=g_1=g_2=1,g_i=g_+g_,n=\sum_^kg_$

我們考慮n-1的形式。

1.n-1與n的前k-1項一定相同,所以在前k-1項滿足這個式子。

2.當n的第k項為1時,n-1沒有第k項,此時1+0=1,滿足這個式子。

3.否則當n的第k項不為1時,你會發現$f(f(g_-1))=g_}$

這個東西不好說明,舉個例子

$g_=34=21+8+3+1+1$

$g_-1=21+8+3+1$

$f(f(g_))=8+3+1+1=13=g_}$

這就是為什麼我要把第0項設成1的原因,所以第k項也滿足。

證畢。當m更大時,只需把g的遞推式改為$g_i=g_+g_$即可。

#include int

m,t;

long

long n,a1,f[5000005

];int

main()

}for(int i=t;n;i--) if(f[i]<=n) n-=f[i],a1+=f[i-1

]; printf(

"%lld

",a1);

return0;

}

492 構造矩形

鏈結 作為一位web開發者,懂得怎樣去規劃乙個頁面的尺寸是很重要的。現給定乙個具體的矩形頁面面積,你的任務是設計乙個長度為 l 和寬度為 w 且滿足以下要求的矩形的頁面。要求 1.你設計的矩形頁面必須等於給定的目標面積。2.寬度 w 不應大於長度 l,換言之,要求 l w 3.長度 l 和寬度 w ...

492 構造矩形

作為一位web開發者,懂得怎樣去規劃乙個頁面的尺寸是很重要的。現給定乙個具體的矩形頁面面積,你的任務是設計乙個長度為 l 和寬度為 w 且滿足以下要求的矩形的頁面。要求 1.你設計的矩形頁面必須等於給定的目標面積。2.寬度 w 不應大於長度 l,換言之,要求 l w 3.長度 l 和寬度 w 之間的...

492 構造矩形

作為一位web開發者,懂得怎樣去規劃乙個頁面的尺寸是很重要的。現給定乙個具體的矩形頁面面積,你的任務是設計乙個長度為 l 和寬度為 w 且滿足以下要求的矩形的頁面。要求 1.你設計的矩形頁面必須等於給定的目標面積。2.寬度 w 不應大於長度 l,換言之,要求 l w 3.長度 l 和寬度 w 之間的...