• Luogu 4492 [HAOI2018]苹果树 组合数


    https://www.luogu.org/problemnew/show/P4492

    找每个编号的点的父边的贡献,组合数和阶乘就能算了。

    我考场上怎么就是没想到呢。

    调了好久好久好久好久调不出来,样例一直过不了,刚刚发现是乘的时候没有%好溢出了,我是个zz。

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 #include<cmath>
     5 #include<iostream>
     6 using namespace std;
     7 #define LL long long
     8 LL n;LL p;
     9 LL f[2010][2010]={};
    10 LL zu[2010][2010]={};
    11 LL t[2010]={};
    12 int main(){
    13     scanf("%lld%lld",&n,&p);
    14     LL ans=0; zu[0][0]=1; t[0]=1;
    15     for(LL i=1;i<=n;i++)t[i]=(t[i-1]*i)%p;
    16     for(LL i=1;i<=n;i++){
    17         zu[i][0]=1;
    18         for(LL j=1;j<=i;j++)zu[i][j]=(zu[i-1][j]+zu[i-1][j-1])%p;
    19     }
    20     for(LL i=1;i<=n;i++){
    21         f[i][0]=1;
    22         for(int j=1;j<=n;j++){
    23             f[i][j]=(f[i][j-1]*(i+j-1))%p;
    24         }
    25     }
    26     for(LL i=2;i<=n;i++){
    27         for(LL j=n-i+1;j>0;j--){
    28             LL w=(zu[n-i][j-1]*t[j])%p;
    29             w=(w*((t[i]*f[i-1][n-i-j+1])%p))%p;
    30             w=(w*((j*(n-j))%p))%p;
    31             ans=(ans+w)%p;
    32         }
    33     }
    34     printf("%lld
    ",ans);
    35     return 0;
    36 }
    View Code

  • 相关阅读:
    TreeView控件
    俄罗斯套娃
    c#文件操作
    c# 操作excle
    vs2010启动越来越慢解决方法
    c# 操作excle[转]
    c# 命名空间别名
    C# openfiledialog的使用
    c# 获取项目根目录方法
    jquery操作复选框(checkbox)的12个小技巧总结
  • 原文地址:https://www.cnblogs.com/137shoebills/p/9095553.html
Copyright © 2020-2023  润新知