站外题,提供std求改错,玄关
查看原帖
站外题,提供std求改错,玄关
739307
All_Failed_OI_Cici楼主2024/9/7 12:34

题目如下:


std在这里


已经研究了一上午啦,求放过

我的代码(不知道错哪了?)
?只有10分。。

#include<bits/stdc++.h>
using namespace std;
const int MOD=1e9+7;
int n,m;
long long dp[100010][20];
long long sum[100010][20];
signed main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++) dp[1][i]=1,sum[1][i]=sum[1][i-1]+1;
	for(int i=2;i<=n;i++){
		for(int j=1;j<=m;j++){
			dp[i][j]=(0ll+dp[i][j]+sum[i-1][m])%MOD;
			for(int k=2*j;k<=m;k+=j){
				dp[i][j]=(0ll+dp[i][j]-dp[i-1][k]+MOD)%MOD;
			}
			sum[i][j]=(0ll+sum[i][j-1]+dp[i][j])%MOD;
		}
	}
//	long long ans=0;
//	for(int i=1;i<=m;i++) ans=(0ll+ans+dp[n][i])%MOD;
//	cout<<ans;
	cout<<sum[n][m]%MOD;
	return 0;
}
2024/9/7 12:34
加载中...