poj 1737 Connected Graph
- // poj 1737 Connected Graph
- //
- // 题目大意:
- //
- // 带标号的连通分量计数
- //
- // 解题思路:
- //
- // 设f(n)为连通图的数量,g(n)为非连通图的数量,h(n)为所有的
- // 图的数量,h(n) = 2 ^(n * (n - 1) / 2);
- // f(n) + g[n] = h(n).
- //
- // 考虑标号为1在哪个连通分量内,设连通分量内有k个点,则问题为
- // 在n-1个点中选择k-1个点的方法数 C(n-1,k-1),此时1所在的连通图数
- // 为f(k),另一部分为n-k个点的图的所有数量,因为此时已经设了1所在
- // 的连通图和剩余部分已经是不连通了,则
- // g(n) = sigma(C(n-1,k-1)*f(k)*h(n-k)){ 1<= k <= n-1}
- // f[n] = h[n] - g[n];
- import java.util.*;
- import java.io.*;
- import java.math.BigInteger;
- class Main{
- public static void main(String[] args){
- final int MAX_N = ;
- BigInteger[][] C = new BigInteger[MAX_N][MAX_N];
- BigInteger[] f = new BigInteger[MAX_N];
- BigInteger[] g = new BigInteger[MAX_N];
- BigInteger[] h = new BigInteger[MAX_N];
- C[][] = new BigInteger("");
- for (int i=;i<MAX_N;i++){
- C[i][] = C[i][i] = new BigInteger("");
- for (int j=;j<i;j++){
- C[i][j] = new BigInteger("");
- C[i][j] = C[i][j].add(C[i-][j]);
- C[i][j] = C[i][j].add(C[i-][j-]);
- }
- }
- for (int i=;i<MAX_N;i++){
- h[i] = new BigInteger("");
- h[i] = h[i].pow(i*(i-)/);
- }
- f[] = h[] = new BigInteger("");
- for (int i=;i<MAX_N;i++){
- g[i] = new BigInteger("");
- for (int j=;j<i;j++){
- g[i] = g[i].add(C[i-][j-].multiply(f[j].multiply(h[i-j])));
- }
- f[i] = h[i].subtract(g[i]);
- }
- Scanner sc = new Scanner(System.in);
- while(sc.hasNextInt()){
- int x = sc.nextInt();
- if (x==)
- break;
- System.out.println(f[x]);
- }
- }
- }
poj 1737 Connected Graph的更多相关文章
- POJ 1737 Connected Graph 题解(未完成)
Connected Graph Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 3156 Accepted: 1533 D ...
- POJ 1737 Connected Graph (大数+递推)
题目链接: http://poj.org/problem?id=1737 题意: 求 \(n\) 个点的无向简单(无重边无自环)连通图的个数.\((n<=50)\) 题解: 这题你甚至能OEIS ...
- POJ 1737 Connected Graph(高精度+DP递推)
题面 \(solution:\) 首先做个推销:带负数的压位高精度(加减乘+读写) 然后:由 \(N\) 个节点组成的无向图的总数为: \(2^{N*(N-1)/2}\) (也就是说这个图总共有 \( ...
- POJ1737 Connected Graph
Connected Graph Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 3156 Accepted: 1533 D ...
- Connected Graph
Connected Graph 求n个点的无向联通图数量,\(n\leq 50\). 解 直接无向联通图做状态等于是以边点做考虑,难以去重,考虑联通对立面即不联通. 不难求出n个点的总方案数为\(2^ ...
- 【poj1737】 Connected Graph
http://poj.org/problem?id=1737 (题目链接) 题意 求n个节点的无向连通图的方案数,不取模w(゚Д゚)w Solution 刚开始想了个第二类斯特林数,然而并不知道怎么求 ...
- poj 3334 Connected Gheeves (Geometry + BInary Search)
3334 -- Connected Gheeves 题意是,给出两个尖形的相连的容器,要求向其中灌水.它们具有日常的物理属性,例如两个容器中水平面高度相同以及水高于容器顶部的时候就会溢出.开始的时候打 ...
- poj 1737男人八题之一 orz ltc
这是楼教主的男人八题之一.很高兴我能做八分之一的男人了. 题目大意:求有n个顶点的连通图有多少个. 解法: 1. 用总数减去不联通的图(网上说可以,我觉得时间悬) 2. 用动态规划(数学递推) ...
- POJ 1737 统计有n个顶点的连通图有多少个 (带标号)
设f(n)为所求答案 g(n)为n个顶点的非联通图 则f(n) + g(n) = h(n) = 2^(n * (n - 1) / 2) 其中h(n)是n个顶点的联图的个数 这样计算 先考虑1所在的连通 ...
随机推荐
- jquery实现淡入淡出
fade方法包括四个: (1)fadeIn(speed,callback):淡入的方法,speed代表淡入的速度,可以是slow,fast,毫秒,不填等 例如: $(document).ready(f ...
- iOS中UITableView使用总结
链接:http://www.open-open.com/lib/view/open1430008922468.html
- KeepAlived主备/主主模型高可用Nginx
部署准备: 两台CentOS 7主机HA1和HA2 CentOS 7 基于rpm包安装Nginx: 由于Base源中没有Nginx,所以要安装EPEL源,命令如下: wget http://dl.fe ...
- ANDROID调用webservice带soapheader验证
最近的一个项目中调用webservice接口,需要验证soapheader,现将解决方法记录如下:(网上资料出处太多,就不做引用,原作者如看到,如有必要添加请通知) 1.先看接口 POST /webs ...
- 转载---ViewPager,PagerAdapter,FragmentPagerAdapter和FragmentStatePagerAdapter的分析对比
转载:http://blog.csdn.net/dreamzml/article/details/9951577 ViewPager ViewPager 如其名所述,是负责翻页的一个 View.准确说 ...
- Newtonsoft.Json解析Json字符串案例:
/// <summary> /// 上行jsom格式日志记录 /// </summary> /// <param name="responseJson" ...
- greendao对SQLite数据库的增删改查操作
利用greendao操作数据库时,都是以对象或者对象的list来进行增删改查的操作,操作的结果都是用一个list来接收的!!! 1.增加一条记录 Stu stu01=new Stu();stu01.s ...
- div赋值,取值和input赋值,取值
一.div取值 <div id="txtXiaofei" class="txt-panel">你好</div> 获取div的值$(&qu ...
- OPENQUERY 无行返回 无数据返回 数据缺失
用SQL Server 2008 R2 的 Oracle Provider for OLE DB 链接Oracle . 在SQL Server中使用下面查询语句,没有数据返回 但是再PL/SQL中查找 ...
- VBA用户控件
窗体相关 1.显示窗体 UserForm1.show [vbModeless] vbModeless 可选参数,参数设定后,变成无模式窗体.窗体保持显示状态,仍可操作Excel文件. UserFor ...