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\n",ans);
35     return 0;
36 }

View Code

转载于:https://www.cnblogs.com/137shoebills/p/9095553.html

Luogu 4492 [HAOI2018]苹果树 组合数相关推荐

  1. [洛谷P4492] [HAOI2018]苹果树

    洛谷题目链接:[HAOI2018]苹果树 题目背景 HAOI2018 Round2 第一题 题目描述 小 C 在自己家的花园里种了一棵苹果树, 树上每个结点都有恰好两个分支. 经过细心的观察, 小 C ...

  2. [HAOI2018]苹果树(组合数学)

    洛谷题目传送门 题目描述 小 C 在自己家的花园里种了一棵苹果树, 树上每个结点都有恰好两个分支. 经过细心的观察, 小 C 发现每一天这棵树都会生长出一个新的结点. 第一天的时候, 果树会长出一个根 ...

  3. Luogu 4491 [HAOI2018]染色

    BZOJ 5306 考虑计算恰好出现$s$次的颜色有$k$种的方案数. 首先可以设$lim = min(m, \left \lfloor \frac{n}{s} \right \rfloor)$,我们 ...

  4. P4492 [HAOI2018]苹果树(组合数学+递推)

    LINK 一颗苹果树长 n n n天,第一天长出根节点,每个节点有左右两个分支 以后每一天,在这棵树的所有分支处随机选择一个,长出一个新节点 定义这个树的不便度为树上两两节点的距离和 E E E,输出 ...

  5. [HAOI2018]苹果树 组合数学

    [HAOI2018] 基础组合数学 Code #include<bits/stdc++.h> #define rep(i,a,b) for(ll i=(a);i<=(b);i++) ...

  6. bzoj5305 [Haoi2018]苹果树(组合数学)

    首先n个点的这样生成的二叉树有n!种. 因此这就不再是一个期望问题,而是计数问题! 可能没逆元,烦躁qaq 考虑给每个点按生成顺序标号,我们来计算i->fa[i]这条边对答案的贡献. 我们枚举i ...

  7. 【组合数学-DP】BZOJ5305 [HAOI2018] 苹果树

    [题目] lydsy 一棵果树每个节点恰好有两个分支,初始只有一个根节点,每天果树会随机选择一个当前没有长出过节点的分支长出节点.求 n n n天后期望树点对之间距离和 E E E,输出 E × n ...

  8. Noip前的大抱佛脚----赛前任务

    赛前任务 tags:任务清单 前言 现在xzy太弱了,而且他最近越来越弱了,天天被爆踩,天天被爆踩 题单不会在作业部落发布,所以可(yi)能(ding)会不及时更新 省选前的练习莫名其妙地成为了Noi ...

  9. mysql数据库字段类型大全_mysql数据库字段类型详解

    MySQL支持大量的列类型,它可以被分为3类:数字类型.日期和时间类型以及字符串(字符)类型.本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述. ...

  10. c语言oj答案进制转换,C语言编程的进制问题问题

    在我们的编译器,我用的是ADS   开发平台,现在RTC模块编程时,2410作为上位机,如下代码: n = rBCDDATE; if(n==1) time->day =0x31 ; 波斯历的日期 ...

最新文章

  1. pandas使用reindex函数为日期索引中有缺失日期的dataframe进行索引重置(所有日期都连续)、并使用fill_value参数为行进行默认填充
  2. Linux的cat、more、less有什么区别
  3. zabiix监控磁盘io
  4. Linux系统中fflush,sync,syncfs,fdatasync,fsync的比较
  5. 如何:使用Json插入数据库并从中读取
  6. vim QuickFix 窗口
  7. 采用contentprivider扫描手机SD卡的图片资源
  8. JeeWx 微信开发公开课(Jeewx-API 专题),今晚8点不见不散
  9. mysql5.5.17源代码安装
  10. SqlServerSQL语句方式--视图创建
  11. 计算机测试代码怎么写,常见的电脑检测卡代码对照表大全
  12. 谷歌搜索没有相机图标_教您如何在Google上搜索图片
  13. Compose 实现下拉刷新和上拉加载
  14. 解决FAT32格式U盘安装win10时0x8007000D错误
  15. bootmgr is missing
  16. MySQL5.5安装及其配置
  17. 神马!看电子书,会让记忆力衰退!
  18. 难以置信,网易首席架构师竟用了 500 页笔记,把网络协议给趣谈了
  19. 5GHz超频教程:技嘉Z390 AORUS MASTER主板+酷睿i9
  20. java线程中yield()和join()的区别

热门文章

  1. Java之数组(上)
  2. 修改服务器后账套不存在,金蝶KIS专业版环境配置常见问题
  3. mysql php sdk_PHP连接MySQL数据库
  4. python 倒计时功能怎么用print实现_在python中的print语句中实现60秒倒计时
  5. C++ multimap 用法总结 例子
  6. C++ 构造函数后面有冒号 ~ : ()
  7. java executor spring_java - Spring TaskExecutor实现 - 堆栈内存溢出
  8. 电气计算机基础知识,电气基础知识
  9. Debian Ubuntu/Centos7设置某些软件不自动更新
  10. linxu 获取指定字符的前后多少行