PKU2084 Game of Connections [1AC][08.08.22]

 
Run ID User Problem Result Memory Time Language Code Length Submit Time
3948135 slxg 2084 Accepted 1324K 32MS Pascal 1366B 2008-08-22 15:26:22

直接推出公式:

f [n]=sigma(f[n-1-i]*f[i])  (0<=i<=n-1)

據說是 catalan 數

然後就好了~

注意要用高精度~

然後編了一個 挺漂亮 的 運算符重載:

  1. operator *(a,b:arr) c:arr;
  2.   var
  3.     i,j:integer;
  4.   begin
  5.     fillchar(c,sizeof(c),0);
  6.     c[-1]:=a[-1]+b[-1]-1;
  7.     for i:=0 to a[-1do begin
  8.       for j:=0 to b[-1do c[i+j]:=c[i+j]+a[i]*b[j];
  9.       for j:=0 to c[-1do begin
  10.         inc(c[j+1],c[j] div 10000);
  11.         c[j]:=c[j] mod 10000;
  12.       end;
  13.     end;
  14.     if c[c[-1]+1]<>0 then inc(c[-1]);
  15.   end;
  16. operator + (a,b:arr) c:arr;
  17.   var
  18.     i:integer;
  19.     j:longint;
  20.   begin
  21.     fillchar(c,sizeof(c),0);
  22.     if a[-1]>b[-1then c[-1]:=a[-1else c[-1]:=b[-1];
  23.     j:=0;
  24.     for i:=0 to c[-1do begin
  25.       j:=j+a[i]+b[i];
  26.       c[i]:=j mod 10000;
  27.       j:=j div 10000;
  28.     end;
  29.     if j<>0 then begin
  30.       inc(c[-1]);
  31.       c[c[-1]]:=j;
  32.     end;
  33.   end;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章