FJOI2007 bzoj1002 輪狀病毒

2021-07-28 03:20:47 字數 1284 閱讀 1645

description

輪狀病毒有很多變種,所有輪狀病毒的變種都是從乙個輪狀基產生的。乙個n輪狀基由圓環上n個不同的基原子

和圓心處乙個核原子構成的,2個原子之間的邊表示這2個原子之間的資訊通道。如下圖所示

n輪狀病毒的產生規律是在乙個n輪狀基中刪去若干條邊,使得各原子之間有唯一的資訊通道,例如共有16個不 同的3輪狀病毒,如下圖所示

現給定n(n<=100),程式設計計算有多少個不同的n輪狀病毒

input

第一行有1個正整數n output

計算出的不同的n輪狀病毒數輸出

用矩陣樹定理long double精度過不了,只好上網搜到遞推式fi

=3fi

−1−f

i−2+

2 。我也不知道為什麼。

#include

#include

#include

using namespace std

;const int p=10000

;struct big

ret.l=max(l,b.l);

if (ret

.a[ret

.l+1]) ret

.l++;

return ret

; }

big operator + (const int &x) const

ret.l=l;

if (ret

.a[ret

.l+1]) ret

.l++;

return ret

; }

big operator - (const big &b) const

else ret

.a[i+1]=0

; }

ret.l=l;

while (!ret

.a[ret

.l]) ret

.l--;

return ret

; }

big operator * (const int &x) const

ret.l=l;

if (ret

.a[ret

.l+1]) ret

.l++;

return ret

; }

void out()

putchar('\n');

}}f[110];

int n;

int main()

BZOJ 1002 FJOI2007 輪狀病毒

1002 fjoi2007 輪狀病毒 time limit 1 sec memory limit 162 mb description 輪狀病毒有很多變種,所有輪狀病毒的變種都是從乙個輪狀基產生的。乙個n輪狀基由圓環上n個不同的基原子 和圓心處乙個核原子構成的,2個原子之間的邊表示這2個原子之間的資...

BZOJ1002 FJOI2007 輪狀病毒

標籤 高精度,數學 description 輪狀病毒有很多變種,所有輪狀病毒的變種都是從乙個輪狀基產生的。乙個n輪狀基由圓環上n個不同的基原子 和圓心處乙個核原子構成的,2個原子之間的邊表示這2個原子之間的資訊通道。如下圖所示 n輪狀病毒的產生規律是在乙個n輪狀基中刪去若干條邊,使得各原子之間有唯一...

BZOJ 1002 FJOI2007 輪狀病毒

好久好久好久好久沒寫部落格了,因為csdn改版了,一直不大喜歡,所以也就不大樂意上部落格了。事實上說起來也沒什麼題好寫的,有時候還是會做到好題的。因為已經忘記了csdn忘記了我有部落格,於是就沒寫了。but 如今還是繼續開始吧,有什麼感覺不錯的題還是能夠mark下的。接下來是題意,中文題就是好,直接...