RQNOJ85 三個袋子 矩陣乘法

2022-09-03 04:33:08 字數 947 閱讀 3738

求nn

個球裝進3

3個袋子裡的總方案數。

出題人十分良心的給出了表:nn

1234

5678

910方案數125

1441

122365

1094

3281

9842

然後就變成了一道找規律的題目。

40分做法:

容易發現f[i

]=3×

f[i−

1]−1

f[i]

=3×f

[i−1

]−1。暴力遞推即可。

20到100分做法:

可以發現公式f[i

]=3i

−1−1

2f[i

]=23

i−1−

1​。直接用快速冪,多少分要看你打的好不好。。。

100分做法:

矩陣乘法加速遞推。

可以發現矩陣:

然後遞推即可。

#include

#include

using

namespace std;

int n,mod,f[3]

;int a[3]

[3]=

,,};

void

mul(

int f[3]

,int a[3]

[3])

void

mulself

(int a[3]

[3])

intmain()

printf

("%d"

,f[1

]%mod)

;return0;

}

DP 數學小技巧 三個袋子

時間限制 1 sec 記憶體限制 64 mb 平平在公園裡遊玩時撿到了很多小球,而且每個球都不一樣。平平找遍了全身只發現了3個一模一樣的袋子。他打算把這些小球都裝進袋子裡 袋子可以為空 他想知道他總共有多少種放法。將n個不同的球放到3個相同的袋子裡,求放球的方案總數m。結果可能很大,我們僅要求輸出m...

三個數乘法。vb

private sub command1 click clsfont.size 30 dim a as double dim b as double dim c as double a 8 b 9 c a b print c end sub 先寫上最簡單的乘法吧 dim a as byte dim ...

三個元素的矩陣乘除法

總結一下就是,如果a和b兩個矩陣要相乘,a的列數要和b的行數相同的,其實矩陣就是線性代數中對多項式常量的一種抽象表達。比如 a是2 80的矩陣,b是80 2的矩陣,得出的還是2 2的矩陣,簡單說就是結果是a的行 b的列的矩陣,哪怕a的列是10000呢,b的行是10000,都不影響a b的行列數,a的...