关于P3811的一些问题
  • 板块学术版
  • 楼主QCurium
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/7/29 14:51
  • 上次更新2023/11/3 07:04:14
查看原帖
关于P3811的一些问题
363995
QCurium楼主2023/7/29 14:51
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=3e6+5;
int n,p;
int jc[N]={1,0},jcny[N],ans[N]={0};
int ksm(int a,int k){
	int res=1;
	while(k){
		if(k%2==1){
			res=(res%p*a%p)%p;
		}
		a=(a%p*a%p)%p;
		k>>=1;
	}
	return res%p;
}
signed main(){
	scanf("%lld%lld",&n,&p);
	for(int i=1;i<=n;i++){
		jc[i]=(jc[i-1]*i)%p;
	}
	for(int i=n;i>=0;i--){
		if(i==n){
			jcny[i]=ksm(jc[i],p-2)%p;
		}
		else{
			jcny[i]=(jcny[i+1]*(i+1))%p;
		}
	}
	for(int i=1;i<=n;i++){
		printf("%lld\n",(jcny[i]*jc[i-1])%p);
	}
	return 0;
}

上是蒟蒻的代码,都用的c++14交的,为什么一个过了,一个没过。

没开O2

开O2

怎么回事呢

2023/7/29 14:51
加载中...