当前位置: 首页 > news >正文

【abc180F】Unbranched - Harvey

题意

问有多少个满足以下条件且有 \(n\) 个点 \(m\) 条边的图:

  1. 没有自环
  2. 每个点的度最大为 \(2\)
  3. 最大的连通块大小恰好为 \(L\)

思路

首先分析:由于每个点的度最大为 \(2\),所以可以判断每个联通块要么是链,要么是环。
所以可以设计状态 \(f_{i,j}\) 表示有 \(i\) 个点,\(j\) 条边的满足条件的图的个数。

  • 对于长为 \(i\) 的链,有 \(\frac{i!}{2}\) 种方案。
  • 对于长为 \(i\) 的环,有 \(\frac{(i-1)!}{2}\) 种方案(原排列)。

除以 \(2\) 是为了去重。
那如何解决连通块之间的去重问题?可以采用钦定最小值的方法,则我们在 \(n\) 个点里面选 \(i\) 个点出来组成一个连通块的方案数为 \(\binom{n-1}{i-1}\)\(-1\) 是因为钦定了最小值。
则有转移式:

\[f_{i,j} = f_{i-t,j-t+1} * \binom{n-i+t-1}{t-1} \frac{t!}{2} \]

\[f_{i,j} = f_{i-t,j-t} * \binom{n-i+t-1}{t-1} \frac{(t-1)!}{2} \]

大小为 \(1\) 的链和大小为 \(2\) 的环不用除以 \(2\),因为不重。

#include<bits/stdc++.h>
#define ll long longusing namespace std;const ll N = 305,mod = 1e9+7,inv = 500000004;int n,m,L;
ll f[N][N];
ll C[N][N],fac[N];void init() {C[0][0]=1,fac[0]=1;for(int i=1;i<=300;i++)fac[i]=fac[i-1]*i%mod;for(int i=1;i<=300;i++){C[i][0]=1;for(int j=1;j<=i;j++)C[i][j]=(C[i-1][j]+C[i-1][j-1])%mod;}
}void add(ll &x,ll y){(x+=y)%=mod;
}ll DP(ll lim){memset(f,0,sizeof(f));f[0][0]=1;for(int i=1;i<=n;i++){for(int j=0;j<=m;j++){for(int t=1;t<=min(lim,(ll)i);t++){if(t>1 && j>=t)add(f[i][j],1ll*f[i-t][j-t]%mod*C[n-i+t-1][t-1]%mod*fac[t-1]%mod*(t==2 ? 1 : inv)%mod);if(j>=t-1)add(f[i][j],1ll*f[i-t][j-t+1]%mod*C[n-i+t-1][t-1]%mod*fac[t]%mod*(t==1 ? 1 : inv)%mod);}}}return f[n][m];
}
int main() {cin>>n>>m>>L;init();cout<<(DP(L)-DP(L-1)+mod)%mod;return 0;
}
http://www.hskmm.com/?act=detail&tid=7574

相关文章:

  • 合并区间-leetcode
  • 两种判断计算机大小端模式的方法
  • ROS2之节点
  • 9.17日总结
  • ECT-OS-JiuHuaShan 框架,元推理AGI奇迹
  • Mapper与Mapper.xml的关系
  • Rocky Linux10.0安装zabbix7.4详细步骤 - 教程
  • 【P3158】放棋子 - Harvey
  • 最强AI语音克隆和文本配音工具!与真人无异,CosyVoice下载介绍
  • 近日C++线上练习结果
  • 密力根油滴实验实验报告
  • Linux 系统插入U盘/移动硬盘实现自动挂载
  • 来点人瑞平我
  • 日总结 2
  • 概率论第一章部分习题
  • 日常 3
  • 【P2051】中国象棋 - Harvey
  • JavaDay6
  • Ubuntu Linux 云服务器常见安全漏洞修复方法汇总 Apache/OpenSSH/DNS
  • 多个 root 用户记录,而且有些记录的密码是空的,导致认证混乱。
  • Min-Max 容斥小记
  • 【POJ1737】Connected Graph - Harvey
  • AI智能体开发实战:从提示工程转向上下文工程的完整指南
  • 解码C语言九条语句
  • 某交互题选讲的补题记录
  • openwrt ipv6 NAT6配置
  • 奶龙抽象语录
  • 解题报告-P11670 [USACO25JAN] Cow Checkups S
  • word vba 对 带编号格式的PO单 段落下添加对应的图片
  • 解题报告-P11671 [USACO25JAN] Farmer Johns Favorite Operation S