关于数组越界
  • 板块学术版
  • 楼主RNTBW
  • 当前回复9
  • 已保存回复9
  • 发布时间2022/12/18 22:15
  • 上次更新2023/10/24 07:15:56
查看原帖
关于数组越界
643735
RNTBW楼主2022/12/18 22:15

RT,求问这份代码为什么会越界?

救救孩子吧

#include<bits/stdc++.h>
using namespace std;
#define P 998244353
#define ll long long 
ll f[62][1000001];
ll n,m,i,j,k,Cnt;
int main()
{
	scanf("%lld%lld",&n,&m);
	f[0][0]=f[0][1]=1;
	k=log2(m)+1;
	for(i=1;i<k;i++)
	{
		f[i][0]=1;
		for(j=1;j<=n&&j<=i+1;j++)
		{
			Cnt=(1ll<<i);
			if(Cnt-1+Cnt>m)Cnt=m-Cnt+1;
			Cnt%=P;
			f[i][j]=(f[i-1][j-1]*(Cnt%P)%P+f[i-1][j])%P;
		}
	}
	printf("%lld",f[k-1][n]);
	return 0;
}
2022/12/18 22:15
加载中...