其他分享
首页 > 其他分享> > CSUSTOJ squares(数学/打表王)

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