我們考慮從 ferrers diagram 的原點引出一條 y=x
y=xy=
x 的直線,它離開這個圖的位置就框處了乙個 h×h
h \times h
h×h 的正方形,這個正方形被稱為乙個整數拆分的 durfee square。那麼如果我們確認了正方形的邊長是 h
hh,它兩側放置的就都是 ≤
h\le h
≤h的整數劃分。因此我們得到了整數劃分的這樣乙個表示式:
∏ k≥
111−
xk=∑
h≥0x
h2(∏
k=1h
11−x
k)
2\prod_ \frac1 = \sum_ x^ \left(\prod_^h \frac1\right)^2
k≥1∏1
−xk1
=h≥
0∑x
h2(k
=1∏h
1−x
k1)
2 在計算前 n
nn 項時,由於 h2≤
nh^2\le n
h2≤n
,我們只需要完成前 n
\sqrt n
n項的 h
hh 即可。
因此我們只需要這幾行核心**即可完成計算,複雜度為 θ(n
n)
\theta(n\sqrt n)
θ(nn)
:
int b =
sqrt
(n);
ans[0]
= tmp[0]
=1;for
(int i =
1; i <= b;
++i)
DataReader關閉的第三種解決方法
第三種方法 之所以會出現上邊報出的錯誤,往往都是因為資料連線物件是靜態 全域性的物件,相應有很多朋友為了避免多次的宣告 建立物件,乾脆將該資料連線物件設定為靜態的全域性的,這樣做的確可以省下不少的功夫,但是帶來的弊端也是顯而易見的,也就是再高併發操作的情況下,會出現上邊提到的錯誤。因此,這裡建議,將...
java匯出excel檔案 第三種方法
1.第三種方法直接上 這裡還是用的spring mvc進行的請求,主要看 註解,如下 row.createcell 8,hssfcell.cell type string setcellvalue comwithdrawalsvo2.getbankcard 銀行卡號 row.createcell 9...
flex 實現文字滾動的第三種方法
前面寫了2種文字內容自動滾動的例子,這裡寫上第三種,用timer事件 1,在mxml中設定 2,在script中 import flash.utils.timer import flash.events.timerevent private var delay uint 10 這裡設定時間間期,pr...