http://blog.csdn.net/sdj222555/article/details/12453629

这个递推可以说是非常巧妙了。

import java.util.*;
import java.io.*;
import java.math.*; public class Main{
static BigInteger[] g=new BigInteger[60];
static BigInteger[] f=new BigInteger[60];
static BigInteger[] pow_2=new BigInteger[2510];
static long[][] C=new long[60][60];
public static void main(String[] argc){
C[0][0]=1l;
for(int i=1;i<=50;++i){
C[i][0]=C[i][i]=1l;
for(int j=1;j<i;++j){
C[i][j]=C[i-1][j]+C[i-1][j-1];
}
} pow_2[0]=BigInteger.ONE;
for(int i=1;i<=2500;++i){
pow_2[i]=pow_2[i-1].multiply(BigInteger.valueOf(2l));
} g[0]=BigInteger.ONE;
for(int i=1;i<=50;++i){
g[i]=BigInteger.ZERO;
for(int k=1;k<i;++k){
g[i]=g[i].add(((BigInteger.valueOf(C[i-1][k-1])).multiply(f[k])).multiply(pow_2[(i-k)*(i-k-1)/2]));
}
f[i]=pow_2[i*(i-1)/2].subtract(g[i]);
} Scanner sc = new Scanner (new BufferedInputStream(System.in));
while(true){
int n=sc.nextInt();
if(n==0){
break;
}
System.out.println(f[n]);
}
sc.close();
}
}

【Java】【高精度】【组合数】【递推】poj1737 Connected Graph的更多相关文章

  1. POJ1737 Connected Graph

    Connected Graph Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 3156   Accepted: 1533 D ...

  2. 【Java】递归递推的应用

    利用阶乘公式来计算组合式: 程序设计思想: 根据公式来计算组合数的大小,从键盘输入n,k的值,设计一个计算阶乘的大小,如果输入的数a为1或0,则直接return 1,否则运用递归,计算a-1的阶乘,直 ...

  3. loj #6261 一个人的高三楼 FFT + 组合数递推

    \(\color{#0066ff}{ 题目描述 }\) 一天的学习快要结束了,高三楼在晚自习的时候恢复了宁静. 不过,\(HSD\) 桑还有一些作业没有完成,他需要在这个晚自习写完.比如这道数学题: ...

  4. $Poj1737\ Connected\ Graph$ 计数类$DP$

    AcWing Description 求$N$个节点的无向连通图有多少个,节点有标号,编号为$1~N$. $1<=N<=50$ Sol 在计数类$DP$中,通常要把一个问题划分成若干个子问 ...

  5. Codeforces 631 (Div. 2) D. Dreamoon Likes Sequences 位运算^ 组合数 递推

    https://codeforces.com/contest/1330/problem/D 给出d,m, 找到一个a数组,满足以下要求: a数组的长度为n,n≥1; 1≤a1<a2<⋯&l ...

  6. POJ 1737 Connected Graph(高精度+DP递推)

    题面 \(solution:\) 首先做个推销:带负数的压位高精度(加减乘+读写) 然后:由 \(N\) 个节点组成的无向图的总数为: \(2^{N*(N-1)/2}\) (也就是说这个图总共有 \( ...

  7. [poj1737]Connected Graph(连通图计数)

    题意:输出题中带有$n$个标号的图中连通图的个数. 解题关键: 令$f(n)$为连通图的个数,$g(n)$为非联通图的个数,$h(n)$为总的个数. 则$f(n) + g(n) = h(n)$ 考虑标 ...

  8. UVA1635 Irrelevant Elements(唯一分解定理 + 组合数递推)

    http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=51196 紫书P320; 题意:给定n个数a1,a2····an,依次求出相邻 ...

  9. CTU Open 2018 Lighting /// 组合数递推 二进制

    题目大意: 给定n k 给定一个数的二进制位a[] 求这个数加上 另一个二进制位<=n的数b 后 能得到多少个不同的 二进制位有k个1 的数 样例 input10 51000100111 out ...

随机推荐

  1. python keras YOLOv3实现目标检测

    1.连接 https://www.jianshu.com/p/3943be47fe84

  2. 浅谈游戏中BUFF的设计要点

    其实这类帖子并没有多少的设计理论,对于策划的提升和帮助也并不大,原因其实在于其适用性太窄,当我要设计XX象棋的时候,它就滚一边去了. 废话不多说切入正题: 游戏中的BUFF/DEBUFF我们见过很多, ...

  3. textarea输入框实时统计输入字符数

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. 4.0docker部署

    设置容器的端口映射 -P  :容器暴露的所有端口映射 -p :指定映射容器暴露的端口 Nginx部暑流程 docker run -p 80 --name web -t -i ubuntu /bin/b ...

  5. MySQL当中的case when then

    其实就相当于if else:而且也可以用if来替代. case whent 条件1 then 条件2 else 条件3 end; 如果条件1成立就执行条件2否则执行条件3 mysql ) end; + ...

  6. Django之项目搭建和配置总结(一)

    安装和创建虚拟环境 参考:linux系统下Python虚拟环境的安装和使用 安装Django包 先进入虚拟环境,在联网下执行: pip install django==1.8.7 1.8.7表示dja ...

  7. twemproxy 简介、安装配置

    twemproxy 简介.安装配置 http://www.xuchanggang.cn/archives/993.html

  8. edittext 的一个案例

        <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android= ...

  9. tab切换 jQuery

    $('p.guidan-load1').click(function(){ $("p.guidan-load1").removeClass("guidan-load12& ...

  10. leetcode 之Linked List Cycle(24)

    两个思路,一是用哈希表记录每个结点是还被访问过:二是定义两个快.慢指针,如果存在环的话,两个指针必定会在某位结点相遇. bool linkListNode(ListNode *head) { List ...