time limit: 1 sec memory limit: 162 mb
submit: 5785 solved: 3140
[submit][status][discuss]輪狀病毒有很多變種,所有輪狀病毒的變種都是從乙個輪狀基產生的。乙個n輪狀基由圓環上n個不同的基原子和圓心處乙個核原子構成的,2個原子之間的邊表示這2個原子之間的資訊通道。如下圖所示
n輪狀病毒的產生規律是在乙個n輪狀基中刪去若干條邊,使得各原子之間有唯一的資訊通道,例如共有16個不同的3輪狀病毒,如下圖所示
現給定n(n<=100),程式設計計算有多少個不同的n輪狀病毒
第一行有1個正整數n
計算出的不同的n輪狀病毒數輸出
最小生成樹計數,用基爾霍夫矩陣可以推出遞推式f[i]=f[i-1]*3-f[i-2]+2(太弱了推不來),注意要用高精度。
#include#include#include#include#includeusing namespace std;const int n=105;
int n;
struct num
num operator *(int b)
if(c.a[len+1])c.len++;
return c;
} num operator -(num b)
} if(c.a[len]==0)c.len--;
return c;
} num operator +(int b)
if(c.a[len+1])c.len++;
return c;
} num operator =(num b)
}f[n];
int main()
for(int i=f[n].len;i>=1;i--)
printf("\n");
return 0;
}
FJOI2007 bzoj1002 輪狀病毒
description 輪狀病毒有很多變種,所有輪狀病毒的變種都是從乙個輪狀基產生的。乙個n輪狀基由圓環上n個不同的基原子 和圓心處乙個核原子構成的,2個原子之間的邊表示這2個原子之間的資訊通道。如下圖所示 n輪狀病毒的產生規律是在乙個n輪狀基中刪去若干條邊,使得各原子之間有唯一的資訊通道,例如共有...
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輪狀基中刪去若干條邊,使得各原子之間有唯一...