幼兒園數學題II 矩陣乘法

2021-10-12 10:14:41 字數 2152 閱讀 9179

這天,當一頭霧水的lzh同學在考場上痛哭的時候,一旁的ymw早就如切菜一樣cut掉了簡單至極的第一題,風輕雲淡的衝擊著滿分,然而最後一道題著實難道了他,畢竟是幼兒園副園長樹皮和著名毒瘤秋彪為了防止人ak而出的,可是ymw作為acrush的著名粉絲,向來以ak為目標,永不言敗,而他能不能ak就看你了

題目是醬紫的,f(n)-f(3)-f(4)-f(5)-…-f(n-3)-f(n-2)=(n+4)(n-1)/2,f(1)=1,f(2)=1

求f(n)的前n項和

輸入 乙個正整數n(保證0

<=n

<=2

31−

10<=n<=2^-1

0<=n

<=2

31−1

)輸出 乙個正整數,表示這個圖形的整點個數,需要對1000000007求餘

s am

pl

esample

sample

i np

ut

input

inpu

t#1

1

s am

pl

esample

sample

o ut

pu

toutput

output

#1

1

s am

pl

esample

sample

i np

ut

input

inpu

t#2

2

s am

pl

esample

sample

o ut

pu

toutput

output

#2

2
我們來演算一下這個式子

f(n)-f(3)-f(4)-f(5)-…-f(n-3)-f(n-2)=(n+4)(n-1)/2-------------------①

f(n)=f(3)+f(4)+f(5)+…+f(n-3)+f(n-2)+(n+4)(n-1)/2

f(n)=…+(n^2+3n-4)/2

f(n)=…+n^2/2+3n/2-2---------------②

由①得f(n+1)=f(3)+f(4)+f(5)+…+f(n-3)+f(n-2)+f(n-1)+((n+1)+4)((n+1)-1)/2

f(n+1)=…+f(n-1)+((n+1)+4)((n+1)-1)/2

f(n+1)=…+f(n-1)+n(n+5)/2

f(n+1)=…+f(n-1)+(n^2+5n)/2

f(n+1)=…+f(n-1)+n^2/2+5n/2-----------------③

然後看③其實比②只多了f(n - 1) + (n ^ 2 / 2 + 5n / 2 - n ^ 2 / 2 - 3n / 2 + 2)

也就是f(n - 1) + n + 2

所以f(n + 1) = f(n) + f(n - 1) + n + 2

然後再變一下,把n+1變為n

f(n + 1) = f(n) + f(n - 1) + n + 2

f(n + 1) = f((n + 1) - 1) + f((n + 1) - 2) + (n + 1) + 1

f(n) = f(n - 1) + f(n - 2) + n + 1

然後就可以按常規矩陣乘法做了

ps答案是算字首和

#include

#include

#include

#include

#define ll long long

using

namespace std;

const ll mod =

1000000007

;ll n;

struct wh_

a, k;

wh_ operator

*(wh_ a, wh_ b)

void

power

(ll m)

}int

main()

幼兒園數學題II

有公式 f n f 3 f 4 f 5 f n 3 f n 2 n 4 n 1 2,f 1 1,f 2 1。要你求前 n 項和。這道題我們可以化公式變成 f n f n 1 f n 2 n 1。首先,我們可以移項得到 f n f 3 f 4 f 5 f n 3 f n 2 n 4 n 1 2 然後把...

矩陣乘法 快速冪 幼兒園數學題I

description 某天,幼兒園學生lzh周測數學時嚇哭了,一道題都做不出來。這下可麻煩了他馬上就會成為墊底的0分啊。他的期望也不高,做出最簡單的第一題就夠了 題目是這樣的,定義f n 根號5 1 2 n 1 當然為了凸顯題目的簡單當然不能是小數分數或無理數,f x 因此需要向上取整,當然求f ...

SSL 2513 幼兒園數學題I 矩陣乘法

time limit 10000ms memory limit 65536k total submit 62 accepted 27 case time limit 1000ms description 某天,幼兒園學生lzh周測數學時嚇哭了,一道題都做不出來。這下可麻煩了他馬上就會成為墊底的0分啊...