关于热身赛T1
  • 板块灌水区
  • 楼主mashduihca
  • 当前回复9
  • 已保存回复9
  • 发布时间2022/1/30 12:06
  • 上次更新2023/10/28 10:04:01
查看原帖
关于热身赛T1
494183
mashduihca楼主2022/1/30 12:06

我只有60pts

偶数是2n2Cn2n212^{n-2}-C_{n-2}^{\frac{n}{2}-1}

评测记录

#include<iostream>
#include<cstdio>
using ll=long long;
using namespace std;
ll n,ans=1,fac[114514]={1},mod=998244353;
ll qpow(ll a,ll n)
{
	if(a==1)return a;
	if(n==0)return 1;
	if(n==1)return a;
	ll tmp=qpow(a,n/2);
	tmp=(tmp*tmp)%mod;
	if(n&1)return (tmp*a)%mod;
	return tmp;
}
int main()
{
	cin>>n;
	if(n==1)return 0*printf("0");
	ans=qpow(2,n-2);
	if(n&1)
	return 0*printf("%lld",ans);
	for(int i=1;i<=n;++i)
	fac[i]=(fac[i-1]*i)%mod;
	ll k=(fac[(n>>1)-1]*fac[(n>>1)-1])%mod;
	k=qpow(k,mod-2);
	k=(fac[n-2]*k)%mod;
	cout<<ans-k;
	return 0;
}
2022/1/30 12:06
加载中...