在游戏中,装备的初始等级为一级,此后,每升一级需要融合一定数量的材料:一级升二级需要t个材料,二级升三级需要t2个材料,......,i级升i+1级需要ti个材料。 塔塔想要升级一些装备到目标的等级,他喜欢一次性收集完全部材料,请你帮助他计算出一共需要预先收集多少材料。
一个装备的升级所需要的材料1升2需要t,2升3需要t^2,t^3,t^4....也就是等比数列求和,等比数列求和公式a1*(d^n-1)/(d-1).答案要求取模,把/(d-1),变成*(d-1)对应的逆元即可(x的逆元=x^(mod-2)对mod取模的结果)。枚举每一个i,累加答案(a[i]*以t为首项t为公比的i项等比数列)即可
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int mod=998244353;
int ksm(int a,int b){
int res=1;