首页 > 其他分享 >2023牛客暑期多校训练营8 B Bloodline Counter 指数型生成函数 容斥 多项式求逆

2023牛客暑期多校训练营8 B Bloodline Counter 指数型生成函数 容斥 多项式求逆

时间:2023-11-01 22:00:24浏览次数:42  
标签:求逆 le frac 函数 Bloodline sum Counter 生成

传送门

容易想到求出竞赛图上最大环\(\le k\)的数量,再求出\(\le k-1\)的数量作差即可得到答案。

设指数型生成函数\(G(x)\)表示大小为\(i\)的环的方案数。

\(G(x)=\sum_{i=1}^k\frac{a_i}{i!}x^i\)

那么最大环\(\le k\)的数量\(=[x^n]n!\sum_{i=1}^k i!\frac{(G(x))^i}{i!}\)

这里是枚举整张图的环的个数\(i\),由于会有重复的方案所以要除以\(i!\),又为了固定这\(i\)环之间的拓扑关系所以还需要乘以\(i!\)。

\(\sum (G(x))^i=\frac{G(x)-(G(x))^{k+1}}{1-G(x)}=\frac{G(x)}{1-G(x)}\)

问题的关键是求\(G(x)\)。

设竞赛图的指数型生成函数为\(F(x)=\sum_{i=1}^{n}2^{C(i,2)}\frac{x^i}{i!}\)

\(G(x)=\sum_{i=1}^n(-1)^{i-1}i!\frac{F(x)}{i!}=\frac{F(x)}{1+F(x)}\)。

标签:求逆,le,frac,函数,Bloodline,sum,Counter,生成
From: https://www.cnblogs.com/chdy/p/17804227.html

相关文章

  • 归并排序求逆序对
    #include<iostream>#include<algorithm>#include<cstring>usingnamespacestd;constintN=1e5+10;inta[N];intans=0;inttmp[N];voidmergesort(inta[],intl,intr){if(l>=r)return;intmid=l+r>>1;m......
  • jupyter notebook启动出错:Bad config encountered during initialization:/ No such
    问题:安装anaconda后,使用condainstalljupyternotebook安装jupyter,出现Badconfigencounteredduringinitialization:Nosuchnotebookdir:解决方法如下:在开始菜单找到AnacondaPromt并打开。在AnacondaPromt输入:jupyternotebook--generate-config根据弹出的地址找到jupyter......
  • 线性求逆元
    题目描述给你一个数列\(a\),要求在\(O(n)\)的时间复杂度内求出\(a_i\)的逆元。具体思路令$$f_i=\prod_{j=1}^ia_j$$令$$s_i=\prod_{j=1}^i(a_j^{-1})=(\prod_{j=1}^ia_j)^{-1}$$那么我们可以用费马小定理或者exgcd求出\(s_n=f_n^{-1}\)。考虑\(s_i\)的递推式......
  • 关于归并排序求逆序对
    之前写了一篇blog讲如何用归并排序求逆序对以及解决相关问题。最近才发现自己根本没搞懂,而且写的不好。遂重写。前言:什么是逆序对?对于数列的第i个和第j个元素,若满足i<j且a[i]>a[j],则其为一个逆序对。归并排序的过程:将序列分为两部分,先递归将两侧序列排序,后将两......
  • Ubuntu 安装谷歌浏览器报错解决:Errors were encountered while processing
    Ubuntu安装谷歌浏览器报错解决parallels@ubuntu-linux-22-04-02-desktop:~/snap/firefox/common/Downloads$sudodpkg-igoogle-chrome-stable_current_amd64.deb[sudo]passwordforparallels:dpkg:errorprocessingarchivegoogle-chrome-stable_current_amd64.deb(......
  • 记一种无需形式幂级数求逆的多点求值算法
    仅作为个人理解之用来自https://judge.yosupo.jp/submission/140699首先producttree部分不变我们考虑如何不使用形式幂级数求逆注意到如果对dft的点值求逆实际上是在对x^lim-1取模的意义下实际上在这个意义下也是可做的首先判掉所求点值在dft所用的单位根上的平凡情况(......
  • 线性求逆元
    线性求逆元时间复杂度:\(O(n)\)问题:求取\(1...n\)关于质数\(p\)的逆元。应用举例:求取组合数\(C_n^m\mod\p\),其中\(1\leqn,m\leq10^7,p=998244353\)。\[C_n^m\equiv\frac{n!}{(n-m)!m!}(mod\p)\]\[C_n^m\equivn!*(n-m)!^{-1}*m!^{-1}(mod\p)\]假设我们......
  • 一个树状数组求逆序对的进阶 [USACO17JAN] Promotion Counting P
    题面就这样,就是在树上求一个逆序对但是我笨笨地求了对于每一个下属有几个上司能力比他低还一遍就写对了,结果发现看错题目了难得一遍过,但是没有完全过 ......
  • 已解决RuntimeWarning: invalid value encountered in double_scalars
    已解决RuntimeWarning:invalidvalueencounteredindouble_scalars文章目录报错问题解决方法声明报错问题之前在工作中遇到过这个坑,记录一下问题以及解决方法,不一定针对所有情况都能用,但是可以供大家参考。问题描述如下:RuntimeWarning:invalidvalueencounteredindouble_......
  • C# 性能诊断工具 dotnet-counters 的使用
    创建.NET程序Dump的几种姿势下载dotnet-counters工具简介dotnet-counters是一个性能监视工具,用于初级运行状况监视和性能调查。它通过EventCounterAPI观察已发布的性能计数器值。例如,可以快速监视CUP使用情况或.NETCore应用程序中的异常率等指标安装通过nuget包安装:......