建电子商务网站多少钱,sem投放,企业创建网站的途径,软件开发商网站正题
题目链接:https://www.luogu.org/problem/U86650?contestId23574 题目大意
第一年有nnn只鸡#xff0c;每只大于等于两岁的鸡每年可以生一只#xff0c;在ttt岁时不会生鸡而会暴毙。
现在给出每只鸡的年龄#xff0c;求第mmm年鸡的总数量。 解题思路
用fif_{i}fi…正题
题目链接:https://www.luogu.org/problem/U86650?contestId23574 题目大意
第一年有nnn只鸡每只大于等于两岁的鸡每年可以生一只在ttt岁时不会生鸡而会暴毙。
现在给出每只鸡的年龄求第mmm年鸡的总数量。 解题思路
用fif_{i}fi表示年龄为iii的鸡的数量然后矩乘优化即可。 codecodecode
#includecstdio
#includecstring
#includealgorithm
#define ll long long
using namespace std;
const int N75;
struct matrix{ll a[N][N];
}f,ans;
ll n,t,m,XJQ,num;
matrix operator*(const matrix a,const matrix b){matrix c;memset(c.a,0,sizeof(c.a));for(ll i0;it;i)for(ll j0;jt;j)for(ll k0;kt;k)(c.a[i][j]a.a[i][k]*b.a[k][j]%XJQ)%XJQ;return c;
}
matrix power(matrix x,ll b){matrix ansx;b--;while(b){if(b1) ansans*x;xx*x;b1;}return ans;
}
int main()
{scanf(%lld,n);for(ll i1;in;i){ll x;scanf(%lld,x);ans.a[0][x];}scanf(%lld%lld%lld,t,m,XJQ);for(ll i1;it;i)f.a[i-1][i],f.a[i][0];f.a[t-1][0]--;fpower(f,m-1);ansans*f;for(ll i0;it;i)num(numans.a[0][i])%XJQ;printf(%lld,num);
}