數論出題組比賽用題 數列

2021-09-27 12:28:25 字數 2080 閱讀 7084

思考難度:提高?

**難度:提高?

演算法0:暴力

實際得分:0

演算法1:

考慮x=y=1x=y=1x=

y=1的情況,顯然有an=an−1+an−2a_n=a_+a_an

​=an

−1​+

an−2

​(廢話),故

an×an+1a_n\times a_an

​×an

+1​=an×(an+an−1)=a_n\times (a_n+a_)=a

n​×(

an​+

an−1

​)=an2+an−1×an=a_n^2+a_\times a_n=a

n2​+

an−1

​×an

​=an2+an−12+an−2×an−1=a_n^2+a_^2+a_\times a_=a

n2​+

an−1

2​+a

n−2​

×an−

1​=...+a22+a1×a2=...+a_2^2+a_1\times a_2=.

..+a

22​+

a1​×

a2​=...+a22+a12+a1×(a2−a1)=...+a_2^2+a_1^2+a_1\times (a_2-a_1)=.

..+a

22​+

a12​

+a1​

×(a2

​−a1

​)故ans=an×an+1−a1×(a2−a1)ans=a_n\times a_-a_1\times (a_2-a_1)an

s=an

​×an

+1​−

a1​×

(a2​

−a1​

) 實際得分:20分

演算法2:

注意到an2=(x×an−1+y×an−2)2a_n^2=(x\times a_+y\times a_)^2an

2​=(

x×an

−1​+

y×an

−2​)

2=x2×an−12+y2×an−22+2xy×an−1×an−2=x^2\times a_^2+y^2\times a_^2+2xy\times a_\times a_=x

2×an

−12​

+y2×

an−2

2​+2

xy×a

n−1​

×an−

2​=x2×an−12+y2×an−22+2xy×an−2×(x×an−2+y×an−3)=x^2\times a_^2+y^2\times a_^2+2xy\times a_\times (x\times a_+y\times a_)=x

2×an

−12​

+y2×

an−2

2​+2

xy×a

n−2​

×(x×

an−2

​+y×

an−3

​)=x2×an−12+y2×an−22+2xy×(x×an−22+y×an−2×an−3)=x^2\times a_^2+y^2\times a_^2+2xy\times (x\times a_^2+y\times a_\times a_)=x

2×an

−12​

+y2×

an−2

2​+2

xy×(

x×an

−22​

+y×a

n−2​

×an−

3​)故an2a_n^2an

2​可以由an−12,an−22,an−1×an−2a_^2,a_^2,a_\times a_an

−12​

,an−

22​,

an−1

​×an

−2​轉移過來,而an−1×an−2a_\times a_an

−1​×

an−2

​可以由an−12,an−2×an−3a_^2,a_\times a_an

−12​

,an−

2​×a

n−3​

轉移過來。

矩陣加速即可。

實際得分:100

數論出題組比賽用題 傳球遊戲

思考難度 提高?難度 提高?正解 矩陣快速冪 若令f i j f i j 為第ii 次傳傳到第j j個人的方案數,易知f i j f i 1 j 1 f i 1 j 1 f i j f i 1 j 1 f i 1 j 1 但是直接這樣遞推o n m o nm 會t letl e,於是想到用矩陣來加速...

ACM 數論 博弈 (比賽用)

1.bash博弈 巴什博弈 只有一堆n個物品,兩個人輪流從中取物,規定每次最少取乙個,最多取m個,最後取光者為勝。if n m 1 0 cout 後手必勝 2.威佐夫博弈 wythoff game 有兩堆各若干的物品,兩人輪流從其中一堆取至少一件物品,至多不限,或從兩堆中同時取相同件物品,規定最後取...

數論三題 簡單題 比賽排名 質因數

這三個題思路都不複雜,就放在一起 計算 由於最終結果可能超過int的範圍,因此請將運算結果對1000000007取模。乙個整數t t 200000 表示資料組數。每行兩個整數m,n。0 m n 2000 就是求組合數啊 c n,m 想一想一層套一層的迴圈,每一次都要從前乙個數 1開始,不是等價於前乙...