Description

有N个点(编号1到N)组成的无向图,已经为你连了M条边。请你再连K条边,使得所有的点的度数都是偶数。求有多少种连的方法。要求你连的K条边中不能有重边,但和已经连好的边可以重。不允许自环的存在。求连边的方法数。我们只关心它模10007的余数。

Solution

设 \(f[i][j]\) 表示已经连了 \(i\) 条边 , 奇度点有 \(j\) 个的方案数.
\(f[i][j]=(f[i-1][j+2]*C_{j+2}^{2}+f[i-1][j-2]*C_{n-j+2}^{2}+f[i-1][j]*(n-j)*j)\)
这样做会使得某些边被加入两次 , 我们强制两条边连在同一个地方 , 减去这样的方案数就行了.
\(f[i][j]-=f[i-2][j]*(C_{n}^{2}-(i-2))\)

#include<bits/stdc++.h>
using namespace std;
const int N=1010,mod=10007;
int n,m,K,in[N],f[N][N],inv[N];
inline int F(int x){return (x*(x-1)>>1)%mod;}
int main(){freopen("pp.in","r",stdin);freopen("pp.out","w",stdout);int x,y,z=0;cin>>n>>m>>K;for(int i=1;i<=m;i++)scanf("%d%d",&x,&y),in[x]++,in[y]++;for(int i=1;i<=n;i++)if(in[i]&1)z++;f[0][z]=inv[0]=inv[1]=1;for(int i=1;i<=K;i++){if(i>1)inv[i]=(mod-1ll*(mod/i)*inv[mod%i]%mod)%mod;for(int j=0;j<=n;j++){f[i][j]=f[i-1][j+2]*F(j+2)%mod;f[i][j]=(f[i][j]+f[i-1][j]*j%mod*(n-j))%mod;if(j>=2)f[i][j]=(f[i][j]+f[i-1][j-2]*F(n-j+2))%mod;if(i>=2)f[i][j]=(f[i][j]-f[i-2][j]*(F(n)-i+2)%mod+mod)%mod;f[i][j]=f[i][j]*inv[i]%mod;}}cout<<f[K][0];return 0;
}

转载于:https://www.cnblogs.com/Yuzao/p/9297945.html

bzoj 2169: 连边相关推荐

  1. [HNOI 2011]卡农

    Description 题库链接 在集合 \(S=\{1,2,...,n\}\) 中选出 \(m\) 个子集,满足三点性质: 所有选出的 \(m\) 个子集都不能为空. 所有选出的 \(m\) 个子集 ...

  2. BZOJ.1558.[JSOI2009]等差数列(线段树 差分)

    BZOJ 洛谷 首先可以把原序列\(A_i\)转化成差分序列\(B_i\)去做. 这样对于区间加一个等差数列\((l,r,a_0,d)\),就可以转化为\(B_{l-1}\)+=\(a_0\),\(B ...

  3. S-T平面图中利用最短路求最小割(BZOJ 1001)

    BZOJ 1001: [BeiJing2006]狼抓兔子 最小割 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 现在小朋友们最喜欢 ...

  4. BZOJ 1124: [POI2008]枪战Maf(构造 + 贪心)

    题意 有 \(n\) 个人,每个人手里有一把手枪.一开始所有人都选定一个人瞄准(有可能瞄准自己).然后他们按某个顺序开枪,且任意时刻只有一个人开枪. 因此,对于不同的开枪顺序,最后死的人也不同. 问最 ...

  5. BZOJ 2957楼房重建

    传送门 线段树 //Twenty #include<cstdio> #include<cstdlib> #include<iostream> #include< ...

  6. BZOJ.5249.[九省联考2018]iiidx(贪心 线段树)

    BZOJ LOJ 洛谷 \(d_i\)不同就不用说了,建出树来\(DFS\)一遍. 对于\(d_i\)不同的情况: Solution 1: xxy tql! 考虑如何把这些数依次填到树里. 首先对于已 ...

  7. bzoj 4871: [Shoi2017]摧毁“树状图”

    4871: [Shoi2017]摧毁"树状图" Time Limit: 25 Sec  Memory Limit: 512 MB Submit: 53  Solved: 9 [Su ...

  8. BZOJ 1592. Making the Grade(思维,数据结构优化DP,以及三个拓展问题)[Usaco2008 Feb]【BZOJ计划】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 BZOJ简单题合集x 目录 BZOJ 1592. Making the Grade 拓展问题一 拓展问 ...

  9. BZOJ 1590.Secret Message 秘密信息(Trie树) [Usaco2008 Dec]【BZOJ计划】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 BZOJ简单题合集x Weblink https://hydro.ac/d/bzoj/p/1590 P ...

最新文章

  1. 网络:XSS和HttpOnly
  2. poj 3459(背包问题)
  3. pomelo 分布式聊天入门客户端demo(c#)
  4. python里pai_关于python如何调用win32pai操作cmd的方法
  5. 轻而易举地激发变革:开放的方法
  6. js金额格式化最简单方法 JS对货币格式化,js钱三位一隔,javascript货币格式化
  7. MySQL replication illegal mix of collations
  8. (原創) 有限狀態機FSM coding style整理 (SOC) (Verilog)
  9. iOS 添加PCH文件
  10. 不是我发现了美,只不过这个世界本身就很美。记快乐的今年生日。
  11. 自动驾驶 2-1 传感器和计算硬件 Sensors and Computing Hardware
  12. 【python技能树】python编码规范
  13. 高中计算机生涯规划,计算机职业生涯规划书
  14. Linux服务篇之SSH服务
  15. keep-alive相关用法及使用场景
  16. 2023年全国最新工会考试精选真题及答案10
  17. 至少144只独角兽在等着IPO,数据不好,PE 给的估值可能保不住了
  18. 会声会影老牌视频剪辑软件2023新版本升级
  19. Linux学习笔记(管道)
  20. 金工研报:你的风险模型能预测你的风险吗?

热门文章

  1. XML SOAP应用简介
  2. 【网络安全工程师面试合集】—如何利用Http协议入侵网站
  3. qt.qpa.screen: QXcbConnection: Could not connect to display(vnpy,云主机,图形界面)
  4. jq使用教程07_ JQData HTTP 接口正式上线
  5. 案例学习BlazeDS+Spring之四InSync02使用RemoteObject事件
  6. python输入三次密码程序_请教各位大神,为啥以下代码输入修改密码后连输错三次还是能输入...
  7. 腾讯智慧校园 php,河南省电化教育馆召开全省“腾讯智慧校园”试点工作推进会...
  8. binlog数据库不写入binlog_mysql数据库备份及其恢复
  9. 个性化新闻文章推荐的上下文Bandit方法
  10. (第十章)多表查询之in,exitst