神經元(prufer序列 dp)

2022-07-22 12:21:13 字數 1192 閱讀 6042

題目描述:

你培育出了一些新型的神經元,它們可以有很多的軸突。

具體來說,對於第i個神經元,它有1~di條軸突,因此可以與1~di個神經元相連,可以將軸突看成無向圖的邊,假定每個神經元都是不同的。

現在你想知道,有多少種方案使得其中恰好k個神經元相連通,這裡的連通需要保證任意兩個神經元間有且僅有一條路徑,方案數可能很大,你只需要對10^9+7取模輸出。

兩個方案是不同的當且僅當選擇的神經元集合不同或其中有至少一條軸突(u,v)出現在乙個方案但不出現在另乙個方案。

題解:

首先了解一下prufer序列:

由prufer序列的性質我們可以知道:

每個長度為n-2的prufer序列對應一棵n個節點的無根樹。

因此,我們可以列舉符合條件的prufer序列個數。

定義 dp[i][j][k] 表示考慮到第i個數,用了j個數,prufer序列長度為k的序列個數,

dp時列舉下乙個數選擇幾次即可。

1 dp[0][0][0]=1;2

for(int i=0;i)12}

13}14}

15 }

所以,我們還要預處理一下c陣列(c[i][j]表示從i個數中選j個數的方案數),具體求法如下:

1

void

init()7}

8 }

完整**:

#includeusing

namespace

std;

typedef

long

long

ll;const

int mod=1e9+7

;const

int n=105

;int

n,d[n];

ll c[n][n],dp[n][n][n];

void

init()

}}int

main()

dp[0][0][0]=1

;

for(int i=0;i)}}

}}

printf(

"%d

",n);

for(int i=2;i<=n;i++)

return0;

}

人工神經元

神經元是構成神經網路的最基本單位,構造乙個人工神經網路系統的首要任務就是構造人工神經網路模型。1 人工神經元的基本構成 我們希望人工神經元可以模擬生物神經元的一階特性 輸入訊號的加權和。對於每乙個人工神經元來說,可以接受一組來自系統中其他神經元的輸入訊號,每個輸入對應乙個權,所有輸入的加權,所有輸入...

神經元細節

單個神經元的模型如下圖所示 在右圖中,神經元的激勵反應可分為兩大部分 1 神經元接受刺激,並對所有的刺激進行加權求和,然後加上偏置,得到激勵值 2 將激勵值作為輸入,輸入到啟用函式,最後通過激勵函式的作用得到最後的響應 注意 這裡總共分為兩個過程,不能忽視最後啟用函式的作用。乙個線性分類器就可以看作...

多組神經元

p 0.1 0.7 0.8 0.8 1.0 0.3 0.0 0.3 0.5 1.5 1.2 1.8 1.6 0.6 0.8 0.5 0.2 0.8 1.5 1.3 t 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 r,q size p s,q size t net ...