BEST定理

ec(G)=tw(G)∏u∈V(deg(u)−1)!ec(G)=t_w(G)\prod_{u \in V} (deg(u)-1)!ec(G)=tw​(G)u∈V∏​(deg(u)−1)!

这(公式)要是有错我直播跳楼!倒挂跳楼!           ——Remmina

ec(G)ec(G)ec(G)指的是有向图GGG中的欧拉回路个数,一个欧拉回路是一个环,从不同起点开始走这个环并不算不同的方案。

tw(G)t_w(G)tw​(G)指的是以www为根的外向生成树形图个数,可以用矩阵树定理计算。

deg(u)deg(u)deg(u)指的是点uuu的度数(入度或出度。在一张有欧拉回路的图中,所有点入度等于出度)

www随便一个点都可。

解题思路

裸上BEST定理后,由于本题题意中,从1号点出发走的第一条路不同,方案也不同,所以方案数要乘以deg(1)deg(1)deg(1)

代码

#include<bits/stdc++.h>
using namespace std;
#define RI register int
int read() {int q=0;char ch=' ';while(ch<'0'||ch>'9') ch=getchar();while(ch>='0'&&ch<='9') q=q*10+ch-'0',ch=getchar();return q;
}
const int mod=1000003;
int n,ans,a[105][105],rd[105],cd[105],fac[200005];int qm(int x) {return x>=mod?x-mod:x;}
int guass() {int re=1;for(RI i=2;i<=n;++i) {for(RI j=i+1;j<=n;++j)while(a[j][i]) {int tmp=a[i][i]/a[j][i];for(RI k=i;k<=n;++k)a[i][k]=qm(a[i][k]-1LL*tmp*a[j][k]%mod+mod);swap(a[i],a[j]),re=qm(mod-re);}re=1LL*re*a[i][i]%mod;}return re;
}
int main()
{fac[0]=1;for(RI i=1;i<=200000;++i) fac[i]=1LL*fac[i-1]*i%mod;while(~scanf("%d",&n)&&n) {for(RI i=1;i<=n;++i)for(RI j=1;j<=n;++j) a[i][j]=0;for(RI i=1;i<=n;++i) rd[i]=0;for(RI i=1;i<=n;++i) {cd[i]=read();int x;for(RI j=1;j<=cd[i];++j)x=read(),a[i][x]=qm(a[i][x]-1+mod),a[x][x]=qm(a[x][x]+1),++rd[x];}for(RI i=1;i<=n;++i) if(rd[i]!=cd[i]) {puts("0");continue;}if(n==1) {printf("%d\n",fac[cd[1]]);continue;}ans=1LL*guass()*cd[1]%mod;for(RI i=1;i<=n;++i) ans=1LL*ans*fac[cd[i]-1]%mod;printf("%d\n",ans);}return 0;
}

bzoj3659 Which Dreamed It BEST定理(公式绝对没错doge)相关推荐

  1. 几个重要的排列组合定理公式

    1.排列的几个定理公式 <1>.排列,一般地,从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列(Arrangement).特别地,当m ...

  2. 什么是方向图乘积定理_课本上没有,但十分好用的初中数学定理公式

    平行四边形(实用度: ★ ★ ) 两边长为a和b,两对角线长为m和n,可以拿这个公式和托勒密定理对比记忆. 三角形 A.勾股数(实用度: ★ ★ ) 常见的最简勾股数有: 3.4.5 5.12.13 ...

  3. 国家著作权: DNA 计算公式, 肽展定理公式与 变嘧啶 推导.

    观点: 作为拥有研发背景的认知观点, 作者每次发现了一些理论和创造性思维, 便开始工程设计, 在真实的场景中应用, 进行论证, 确定它的社会价值: 改变生产力, 创造新的生产力, 优化和归纳生产资料, ...

  4. 定理在数学中的简写形式_数学中所谓的定理 公式 性质 法则之间有什么区别...

    鍜撮彌鍢氭線 2013.04.30 采纳率:52%    等级:12 已帮助:2608人 公理(Axiom):是大家根据常识(Common Sense)形成的论说(Statement), 它是不需要证 ...

  5. 欧拉图论定理 公式及证明

    欧拉图论定理 定理内容 若一个平面连通图 G G G有 V V V个顶点, E E E条边, F F F个面(包括整个图之外的面),则 V − E + F = 2 V-E+F=2 V−E+F=2. 证 ...

  6. 威尔逊定理公式的理解

    ( p -1 )! ≡ -1 ( mod p ) 1.123*-*(P-1)/p =K -(P-1) 即(p-1)的阶乘对于p求余,结果为p-1 2.[(p-1)! + 1] / p = K -0 即 ...

  7. bottom sheets_Excel 2013中的SHEET和SHEETS函数

    bottom sheets I've been experimenting with the new SHEET and SHEETS functions in Excel 2013, to see ...

  8. 【学习笔记】矩阵树定理(Matrix-Tree)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 一.矩阵树定理 二.常用定理 三.例题 1. Luogu P6178 [模板]Matrix-Tr ...

  9. 单价数量和总价的公式_小学六年超全的数学公式!家长们赶紧给孩子看过来……...

    小学数学基础知识整理 (一到六年级) 小学一年级 初步认识加减法.学会基础加减. 小学二年级 完善加减法,表内乘法,学会应用题,基础几何图形. 小学三年级 学会万以内加减法,长度单位和质量单位,倍数的 ...

最新文章

  1. 怎么查看本地电脑是否安装了Git
  2. web.xml中如何配置Servlet文件
  3. 大众流行编程语言有哪些 该选择哪一个来入门
  4. java方便适配器_Java适配器
  5. Tcpdump抓包命令使用
  6. (28)FPGA面试题寄生效应
  7. synctoy 自动同步_用SyncToy给硬盘备份保证数据安全,来自微软的馅饼真香
  8. python读音检测-python – 一个音符的录音音频会产生多个发音时间
  9. 2021年的第一本书,就从这里选
  10. Python核心编程第三版
  11. Iocomp for .net/wpf the Crack
  12. 鼠标测试软件m,罗技M525鼠标使用测试_罗技 M525鼠标_键鼠评测-中关村在线
  13. nginx反向代理是什么意思
  14. 夜天之书 #61 Maintainer 的标准
  15. Problem L: 求一元二次方程的根
  16. C++动态分配内存new delete
  17. shell全面入门教程--IT隐匿者
  18. python爬取ppt代码_Python爬取PPT模板小工具
  19. 【U8】会计科目使用自定义项著辅助核算步骤及注意事项
  20. 从法律角度看数据安全,数据销毁很重要

热门文章

  1. 鸿蒙小型系统内核Liteos-a开发指南
  2. HTML网页设计:五、行内元素和块元素
  3. [NOIP2022] 喵了个喵 题解
  4. 《游戏设计艺术(第2版)》——学习笔记(24)第24章 其他玩家有时会形成社群
  5. 谷歌小恐龙作弊+作死方法
  6. PLC中ST语言的几种程序流程控制语句
  7. 计算机运行很卡很慢,电脑运行太慢了太卡了怎么办(教你运行卡顿的解决方法)...
  8. Poj 1125 Stockbroker Grapevine(Floyd算法求结点对的最短路径问题)
  9. 海桂嘉积中学2021高考成绩查询,圆梦行动 “我想做记者,我想学计算机” 屯昌文武山村“高考姐妹花”的美好心愿...
  10. UBUNTU 12.04 3D 特效设置(三)