zoukankan      html  css  js  c++  java
  • poj 1737 Connected Graph

    1.....  f(n)=2^(n*(n-1)/2)-∑i=1,i<nc(n-1,i-1)*f(i)*2^((n-i)*(n-i-1)/2);   反向求结果会超时 哇哇大哭 浪费了一下午时间。

    以下是反向求的代码,希望大家看到后能给出一点宝贵的修改意见。

    2......正向的公式是f(n)=sum(f(k)*f(n-k)* c(n-2,k-1)*( 2^k-1) | 1<=k<n);反正已经写了一下午反向的程序了,正向的就很简单了。以后再写正向的答案吧。

    import java.math.BigInteger;
    import java.util.Scanner;
    
    
    public class Main {
    
        public static BigInteger[]f=new BigInteger[52];
        public static BigInteger[][]g=new BigInteger[52][52];
        public static BigInteger[][]cn=new BigInteger[52][52];
        
        public static void init() {
            for(int i=1;i<=50;++i) {
                f[i]=BigInteger.ONE;
                for(int j=1;j<=(i*(i-1)/2);++j) {
                    f[i]=f[i].multiply(BigInteger.valueOf(2));
                }
            }
            for(int i=0;i<=50;++i) {
                for(int j=0;j<=50;++j) {
                    g[i][j]=BigInteger.ONE;
                    g[i][j].add(g[i][j]);
                }
            }
            for(int i=0;i<=50;++i) {
                cn[i][0]=BigInteger.ONE;
                cn[i][i]=BigInteger.ONE;
                for(int j=0;j<i;++j) {
                    cn[i][j]=cn[i-1][j].add(cn[i-1][j-1]);
    //                for(int k=1;k<=((i-j)*(i-j-1)/2);++k) {
    //                    g[i][j]=g[i][j].multiply(BigInteger.valueOf(2));
    //                }
                    g[i][j]=g[i][j].pow((i-j)*(i-j-1)/2);
                }
            }
            for(int i=2;i<=50;++i) {
                for(int j=1;j<i;++j) {
                    f[i]=f[i].subtract(cn[i-1][j-1].multiply(f[j]).multiply(g[i][j]));
                }
            }
        }
        
        public static void main(String[] args) {
            init();
            int n = 0;
            Scanner s=new Scanner(System.in);
            while(s.hasNext())
            {
                if(n==0)
                    break;
                System.out.println(f[n]);
            }
        }
    }

    今天是runningtime error的一天!哇哇大哭!

  • 相关阅读:
    memcache 基本操作
    PHP 实现定时任务的几种方法
    PDO 事务处理
    mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by
    ASP.NET Web API 跨域访问(CORS)
    nmap使用
    买定离手,落子无悔
    html5plus处理返回键
    PAT 1008 数组元素循环右移问题
    PAT 1007 素数对猜想
  • 原文地址:https://www.cnblogs.com/cattree/p/10305187.html
Copyright © 2011-2022 走看看