CSUSTOJ squares(数学/打表王)
作者:互联网
题目链接
大概意思是说求N*M区域内所有正方形的个数%mod
emmm 不知大咋推,然后手撸了一个表,发现 n=m 以后是成定值增加答案的 ,我们记定制为Q[]
而且对于 n * n 的规模与 (n-1) *(n-1) 的规模 第推柿子为F【i】=F【i-1】+Q[i]+Q[i-1]
而Q【】的关系则是与前2项有关 = = 反正打表yyds
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define int long long
#define mp make_pair
#define fi first
#define se second
ll fp[1111111];
ll now[1111111];
ll mod=1e9+7;
signed main(){
fp[1]=1;
fp[2]=4;
now[1]=1;
now[2]=6;
for(int i=3;i<=1000010;i++){
fp[i]=((i*i%mod)+fp[i-2])%mod; // ixiang
now[i]=(now[i-1]+fp[i]+fp[i-1]) %mod;
}
ll n,m;
scanf("%lld%lld",&n,&m);
if(m<n){
swap(n,m);
}
printf("%lld\n",(now[n]%mod+(m-n)%mod*fp[n]%mod)%mod);
}
标签:fp,squares,CSUSTOJ,ll,打表王,long,define,now,mod 来源: https://blog.csdn.net/weixin_45948940/article/details/120315186