专栏文章
题解:P2675 《瞿葩的数字游戏》T3-三角圣地
P2675题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mincu61k
- 此快照首次捕获于
- 2025/12/02 00:19 3 个月前
- 此快照最后确认于
- 2025/12/02 00:19 3 个月前
我们不难发现这个倒三角其实就是一个倒过来的杨辉三角,第一层的第 个数对于底部贡献为 ,意味着中间贡献大于两边,所以考虑贪心将大的数放在中间,小的数放在两边即可,由于模数 较小,所以要套上 Lucas 定理计算组合数,时间复杂度为 。
CPP#include<bits/stdc++.h>
using namespace std;
#define int long long
const int mod=1e4+7;
int n,init[10010],inv[100010];
int power(int x,int y){
int res=1;
while(y){
if(y&1)res=res*x%mod;
x=x*x%mod;y>>=1;
}
return res;
}
int c(int x,int y){if(x<y)return 0;return init[x]*inv[y]%mod*inv[x-y]%mod;}
signed main(){
init[0]=inv[0]=1;
for(int i=1;i<=mod;i++)init[i]=init[i-1]*i%mod,inv[i]=power(init[i],mod-2);
cin>>n;
int ans=0;
for(int i=1;i<=n;i+=2){
if(i!=n)ans=(ans+c((n-1)/mod,i/2/mod)*c((n-1)%mod,(i/2)%mod)%mod*(i+1)%mod)%mod;
ans=(ans+c((n-1)/mod,i/2/mod)*c((n-1)%mod,(i/2)%mod)%mod*i%mod)%mod;
}
cout<<ans;
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...