Orz 出题人石二队爷

我们可以先求出有n个点的联通欧拉图数量,然后使它删或增一条边得到我们要求的方案

也就是让它乘上$C_n^2$ (n个点里选2个点,要么删边要么连边,选择唯一)

那么接下来就是求有n个点的联通欧拉图数量$f[n]$

首先来看欧拉图的定义:

一张无向图为欧拉图,当且仅当无向图连通,并且每个点的度数都是偶数。

那么设共有n个点且所有点度数皆为偶数的方案数为$g[n]$

之后尝试计算出来它

先把一个点拿出来,剩$n-1$个点

从这$n-1$个点中选2个点,这两点之间可以连或不连边

那么如果最终某个点的度数不为偶,就用之前单拿出来的点向他连边

最后有一个问题:如果单拿出来的点度数不为偶呢?

显然不可能。每条边对总度数的贡献为2,所以无重边无自环的话一定满足要求

可得

$g_i=2^{C_{i-1}^2}$

接下来应当让$g$中的方案保证联通即为$f$

正如上场T3一样,考虑总-目标之外

枚举$j=1->i-1$ 得到$f_j$是一部分点满足欧拉图性质的方案数

则$g_{i-j}$是剩下点满足度数为偶的方案数

我们现在要构造除了所求之外的情况,所以从那i个点里拿出一个,从剩下的里面选$j-1$个点连边

$f_i=g_i-\sum \limits_{j=1}^{i-1}{f_j*g_{i-j}*C_{i-1}^{j-1}}$

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
const int mod=1e9+;
typedef long long ll;
int n;
ll qpow(ll a,ll b)
{
ll res=;
a%=mod;
while(b)
{
if(b&)res=(res*a)%mod;
a=(a*a)%mod;
b>>=;
}
return res%mod;
}
ll C[][],g[],f[];
int main()
{
scanf("%d",&n);
C[][]=;
for(int i=;i<=n;i++)
{
C[i][]=;
for(int j=;j<=n;j++)
C[i][j]=C[i-][j]+C[i-][j-],C[i][j]%=mod;
}
// while(1);
for(int i=;i<=n;i++)
g[i]=qpow(,C[i-][]);
for(int i=;i<=n;i++)
{
f[i]=g[i];
for(int j=;j<=i-;j++)
f[i]=(f[i]-f[j]*g[i-j]%mod*C[i-][j-]%mod+mod)%mod;
}
cout<<f[n]*C[n][]%mod<<endl;
return ;
}

最新文章

  1. 利用 PhpStorm、Idea 等 IDE 如何 运行/调试 Go 程序 ?
  2. My97DatePicker的使用
  3. python-语句
  4. Node.js ORM 框架 sequelize 实践
  5. Python多行注释
  6. 常用公共的css的样式
  7. Javascript加载速度慢解决办法
  8. App 性能分析
  9. PHP设计模式之:工厂模式
  10. php_DWZ-JUI中碰到的问题解决方法详解(thinkphp+dwz)
  11. Node软件的安装
  12. 从今天起开始记录下在freecodecamp学习的一些tip吧(所有内容都在这个随笔的评论里面记录)
  13. sort简单用法
  14. (八)CXF添加自定义拦截器
  15. sqlalchemy的fliter使用总结
  16. JavaScript 内存泄漏教程
  17. 开源图形数据库Neo4j使用 php开发
  18. Dubbo实践(一)入门示例
  19. 前端工程师面试问题归纳(二、问答类JQ相关)
  20. 洛谷P3358 最长k可重区间集问题(费用流)

热门文章

  1. SPI驱动程序设计
  2. UVa455 最小周期串问题
  3. LOAD CSV ERROR: The used command is not allowed with this MySQL version
  4. ASP.NET Error Handling
  5. Python错误 importModuleNotFoundError: No module named &#39;Crypto&#39;
  6. 力扣算法——135Candy【H】
  7. mysql 5.7.20 取得动态sql执行结果
  8. bootstrap学习(三)表单
  9. linux每日命令(4):解压命令
  10. 【转载】vue-cli搭建的环境,用nginx做代理服务器,访问时显示:Invalid Host header