題目描述
洋灰是一種建築材料,常用來築橋搭建高層建築,又稱,水泥、混凝土。
whz有很多鑄造成三角形的洋灰塊,他想把這些洋灰三角按照一定的規律放到擺成一排的n個格仔裡,其中第i個格仔放入的洋灰三角數量是前乙個格仔的k倍再多p個,特殊地,第乙個格仔裡放1個。
whz想知道把這n個格仔鋪滿需要多少洋灰三角。
輸入描述:
第一行有3個正整數n,k,p。
輸出描述:
輸出一行,乙個正整數,表示按照要求鋪滿n個格仔需要多少洋灰三角,由於輸出資料過大,你只需要輸出答案模1000000007(1e9+7)後的結果即可。
示例1輸入
複製3 1 1
輸出複製6說明
洋灰三角鋪法:1 2 3,總計6個
示例2輸入
複製3 2 2
輸出複製
15說明
洋灰三角鋪法:1 4 10,總計15個
示例3輸入
複製3 3 3
輸出複製
28說明
洋灰三角鋪法:1 6 21,總計28個
備註:對於100%的測試資料:
1 ≤ n ≤ 1000000000
1 ≤ k,p ≤ 1000
|f[n] sum[n-1] p|
*|k 1 0|
|0 1 0|
|1 0 1|
=|f[n+1] sum[n] p|
遞推式如上
#include#include#include#includeusing namespace std;
typedef long long ll;
ll mod=1e9+7;
const int maxn=3;
const int maxm=3;
int n,k,p;
struct matrix
matrix operator *(const matrix &b) const
cout<>n>>k>>p;
if(n<2)
cout<<1
pow(n-1);
}
牛客 牛客小白月賽6 J 洋灰三角
時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 題目描述 洋灰是一種建築材料,常用來築橋搭建高層建築,又稱,水泥 混凝土。whz有很多鑄造成三角形的洋灰塊,他想把這些洋灰三角按照一定的規律放到擺成一排的n個格仔裡...
牛客小白月賽6 J 洋灰三角
題目 當n 1時,直接輸出1 當k 1時,fn是個等差數列,求和公式直接做 當k 2時,下面給出我的推導過程 涉及到高數裡面的求和過程,先對乙個數列求導,再求和,再積分 也可以先積分,再求和,再微分 倒數第三行就是先對原求和數列進行微分求和,再對求和結果進行積分 賦上 include include...
牛客小白月賽6 J 洋灰三角
題目鏈結 洋灰是一種建築材料,常用來築橋搭建高層建築,又稱,水泥 混凝土。whz有很多鑄造成三角形的洋灰塊,他想把這些洋灰三角按照一定的規律放到擺成一排的n個格仔裡,其中第i個格仔放入的洋灰三角數量是前乙個格仔的k倍再多p個,特殊地,第乙個格仔裡放1個。whz想知道把這n個格仔鋪滿需要多少洋灰三角。...