$Poj1737\ Connected\ Graph$ 计数类$DP$
Description
求$N$个节点的无向连通图有多少个,节点有标号,编号为$1~N$.
$1<=N<=50$
Sol
在计数类$DP$中,通常要把一个问题划分成若干个子问题,以便于执行递推.
一个连通图不容易划分,而一个不连通的无向图则很容易划分成结点更少的两部分.所以我们把问题转化成用$N$个点的无向图总个数减去$N$个点的不连通无向图的个数.
$N$个点的无向图总个数显然是$2^{N*(N-1)/2}$,还是简单说下叭,就是$N$个点连成完全图的边数显然是$N*(N-1)/2$,然后每条边都可取可不取,所以就是$2^{N*(N-1)/2}$.
现在我们要把问题划分成互斥的子问题 $OvO$.不连通的图由若干个连通图构成.我们可以枚举$1$结点所在的联通块包含的结点数$k$,从$2~N$这$N-1$个结点中选出$k-1$个结点,显然有$C_{N-1}^{k-1}$种.剩余$N-k$个结点构成任意无向图,显然有$2^{(N-k)*(N-k-1)/2}$种.
Code
本来我已经信心满满地开始写了,突然发现还要高精 : )).我咕咕咕了.也许明天会写???
随机推荐
- 14海量日志提取出现次数最多的IP
问题描述:现有某网站海量日志数据,提取出某日访问该网站次数最多的那个IP. 分析:IP地址是32位的二进制数,所以共有N=2^32=4G个不同的IP地址, 如果将每个IP地址看做是数组的索引的话,那么 ...
- 在VirtualBox下安装linux操作系统
目标:在linux服务器上部署Java开发的网站 工具 VirtualBox-4.3.8:下载后安装. linux系统镜像: Centos国内镜像文件下载地址: http://centos.ustc. ...
- 模块化Vs组件化
模块化&组件化 原因 图解 模块化Module 概念 使用 目的 依赖 架构定位 内容:组件内的Script 组件化 概念 使用 目的:复用,解耦 依赖 架构定位 内容:template.st ...
- 深入python
while循环知识: while是关键字 格式我们要怎么写:; while 条件 : 缩进 循环(代码块) 这里面有个死循环######条件如果一直为真,就形成了一个环,就成为了死循环 那我们如 ...
- oracle避免在索引列上使用NOT
通常, 我们要避免在索引列上使用NOT, NOT会产生在和在索引列上使用函数相同的 影响. 当ORACLE”遇到”NOT,他就会停止使用索引转而执行全表扫描. 举例: 低效: (这里,不使用索引) S ...
- Element-ui学习笔记3--Form表单(一)
Radio单选框 要使用 Radio 组件,只需要设置v-model绑定变量,选中意味着变量的值为相应 Radio label属性的值,label可以是String.Number或Boolean. & ...
- java三大循环结构
用于处理需要重复执行的操作: 根据判断条件的成立与否,决定程序段落的执行次数,而这个程序段落我们称为循环体: while:事先不需要知道循环执行多少次: do while:同上,只是至少要执行一次( ...
- Appium + python 自动化测试环境配置
-------------------------------------------------------------- 1. jdk-8u121-window(32位的就下载32位的,64位的就 ...
- P1002 Hello,World!
题目描述 输出"Hello Wolrd!". 输入格式 无. 输出格式 输出一行"Hello World!". 样例输入 无. 样例输出 Hello World ...
- Linux 标准 C 类型的使用
尽管大部分程序员习惯自由使用标准类型, 如 int 和 long, 编写设备驱动需要一些小心 来避免类型冲突和模糊的 bug. 这个问题是你不能使用标准类型, 当你需要"一个 2-字节 填充 ...