bzoj3659 Which Dreamed It BEST定理(公式绝对没错doge)
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>.排列,一般地,从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列(Arrangement).特别地,当m ...
- 什么是方向图乘积定理_课本上没有,但十分好用的初中数学定理公式
平行四边形(实用度: ★ ★ ) 两边长为a和b,两对角线长为m和n,可以拿这个公式和托勒密定理对比记忆. 三角形 A.勾股数(实用度: ★ ★ ) 常见的最简勾股数有: 3.4.5 5.12.13 ...
- 国家著作权: DNA 计算公式, 肽展定理公式与 变嘧啶 推导.
观点: 作为拥有研发背景的认知观点, 作者每次发现了一些理论和创造性思维, 便开始工程设计, 在真实的场景中应用, 进行论证, 确定它的社会价值: 改变生产力, 创造新的生产力, 优化和归纳生产资料, ...
- 定理在数学中的简写形式_数学中所谓的定理 公式 性质 法则之间有什么区别...
鍜撮彌鍢氭線 2013.04.30 采纳率:52% 等级:12 已帮助:2608人 公理(Axiom):是大家根据常识(Common Sense)形成的论说(Statement), 它是不需要证 ...
- 欧拉图论定理 公式及证明
欧拉图论定理 定理内容 若一个平面连通图 G G G有 V V V个顶点, E E E条边, F F F个面(包括整个图之外的面),则 V − E + F = 2 V-E+F=2 V−E+F=2. 证 ...
- 威尔逊定理公式的理解
( 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 即 ...
- bottom sheets_Excel 2013中的SHEET和SHEETS函数
bottom sheets I've been experimenting with the new SHEET and SHEETS functions in Excel 2013, to see ...
- 【学习笔记】矩阵树定理(Matrix-Tree)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 一.矩阵树定理 二.常用定理 三.例题 1. Luogu P6178 [模板]Matrix-Tr ...
- 单价数量和总价的公式_小学六年超全的数学公式!家长们赶紧给孩子看过来……...
小学数学基础知识整理 (一到六年级) 小学一年级 初步认识加减法.学会基础加减. 小学二年级 完善加减法,表内乘法,学会应用题,基础几何图形. 小学三年级 学会万以内加减法,长度单位和质量单位,倍数的 ...
最新文章
- 怎么查看本地电脑是否安装了Git
- web.xml中如何配置Servlet文件
- 大众流行编程语言有哪些 该选择哪一个来入门
- java方便适配器_Java适配器
- Tcpdump抓包命令使用
- (28)FPGA面试题寄生效应
- synctoy 自动同步_用SyncToy给硬盘备份保证数据安全,来自微软的馅饼真香
- python读音检测-python – 一个音符的录音音频会产生多个发音时间
- 2021年的第一本书,就从这里选
- Python核心编程第三版
- Iocomp for .net/wpf the Crack
- 鼠标测试软件m,罗技M525鼠标使用测试_罗技 M525鼠标_键鼠评测-中关村在线
- nginx反向代理是什么意思
- 夜天之书 #61 Maintainer 的标准
- Problem L: 求一元二次方程的根
- C++动态分配内存new delete
- shell全面入门教程--IT隐匿者
- python爬取ppt代码_Python爬取PPT模板小工具
- 【U8】会计科目使用自定义项著辅助核算步骤及注意事项
- 从法律角度看数据安全,数据销毁很重要
热门文章
- 鸿蒙小型系统内核Liteos-a开发指南
- HTML网页设计:五、行内元素和块元素
- [NOIP2022] 喵了个喵 题解
- 《游戏设计艺术(第2版)》——学习笔记(24)第24章 其他玩家有时会形成社群
- 谷歌小恐龙作弊+作死方法
- PLC中ST语言的几种程序流程控制语句
- 计算机运行很卡很慢,电脑运行太慢了太卡了怎么办(教你运行卡顿的解决方法)...
- Poj 1125 Stockbroker Grapevine(Floyd算法求结点对的最短路径问题)
- 海桂嘉积中学2021高考成绩查询,圆梦行动 “我想做记者,我想学计算机” 屯昌文武山村“高考姐妹花”的美好心愿...
- UBUNTU 12.04 3D 特效设置(三)