题目链接

题目大意:

1:一条单独的边是串并联网络

2:G1,G2为串并联网络, 将它们的源点与汇点分别连接起来, 得到的也是串并联网络(并联)

3:G1,G2为串并联网络, 将G1的汇点与G2的源点连接起来,得到的也是串并联网络(串联)

串联在一起的部分可以随意交换, 并联在一起的也可以随意交换顺序

要求:给n个点, 统计有多少种串并联网络。

思路:将这个网络简化成一颗树, 每颗子树就相当于一个网络, 那么有两种情况

1、根节点为并联网络

2、根节点为串联网络

由于顺序不影响结果, 所以这两种情况的结果是相等的,即只需要算出一种, 再乘以2即可得到答案

n个点, 即这颗树有n个叶子节点。

特例: n = 1的时候 只有一种结果

n >= 2时:

设f[i] 为叶子节点数为i的树的方案数, 则答案为:f[n](n > 1)

方法一:将n 进行整数拆分, 再对分拆数进行计算求和

方法二:设dp[i][j]为 每颗子树最大叶子节点数不超过i, 总叶子节点数为j 的方案数

则f[i] = dp[i-1][i]

而dp[i][j] = C(f[i] + p - 1, p) * dp[i - 1][j - p * i] (p * i <= j)

代码:   

      

 #include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
#define MAXN 31
#define LL long long
LL f[MAXN];
LL dp[MAXN][MAXN];//dp[i][j] = C(f[i] + p - 1, p) * dp[i - 1][j - p * i];
int n; LL C(LL n, LL k)
{
double ans = ;
for(int i = ; i < k; i ++)
ans = ans * (n - i);
for(int i = ; i <= k; i ++)
ans = ans / i;
return (LL) (ans + 0.5);
}
void init()
{
for(int i = ; i < MAXN; i ++) dp[i][] = ;
for(int i = ; i < MAXN; i ++) dp[][i] = dp[i][] = ;
f[] = ;
for(int i = ; i < MAXN; i ++)
{
for(int j = ; j < MAXN; j ++)
{
dp[i][j] = ;
for(int p = ; p * i <= j; p ++)
dp[i][j] += (C(f[i] + p - , p) * dp[i-][j-p*i]);
}
f[i + ] = dp[i][i + ];
}
} int main()
{
init();
while(scanf("%d",&n) && n)
{
printf("%lld\n", n == ? : * f[n]);
}
return ;
}

Uva_10253 Series-Parallel Networks的更多相关文章

  1. UVA 10253 Series-Parallel Networks (树形dp)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Series-Parallel Networks Input: standard ...

  2. Nodejs中Async模块的流程控制方法

    首先,使用Asycn模块需要安装,它不是node自带的.其次,该模块有大约20多个流程控制方法,我们在这里仅分析常用的series, parallel, waterfall, auto这四种,并且尽量 ...

  3. 避免Node.js中回调地狱

    为了解决这个阻塞问题,JavaScript严重依赖于回调,这是在长时间运行的进程(IO,定时器等)完成后运行的函数,因此允许代码执行经过长时间运行的任务. downloadFile('example. ...

  4. 你不知道的JavaScript--Item27 异步编程异常解决方案

    1.JavaScript异步编程的两个核心难点 异步I/O.事件驱动使得单线程的JavaScript得以在不阻塞UI的情况下执行网络.文件访问功能,且使之在后端实现了较高的性能.然而异步风格也引来了一 ...

  5. gulp4.0 前端构建脚手架

    最近看了下gulp4.0的升级,感觉和3.0相比变化还是比较大的,很多3.0的写法和插件会出现一些莫名其妙的变化,详细的变化就先不说了,这里我直接把我配置好的代码拿过来吧,方便各位可以更好的学习和使用 ...

  6. Enhancing network controls in mandatory access control computing environments

    A Mandatory Access Control (MAC) aware firewall includes an extended rule set for MAC attributes, su ...

  7. gulp源码分析

    一.整体结构分析 整体结构 通过在nodejs环境对源码的打印,我们最终得到的gulp实例行如下图.那么我们gulp实例上的属性和方法是如何生成的呢? Gulp { domain: null, _ev ...

  8. Feature Fusion for Online Mutual Knowledge Distillation (CVPR 2019)

    一.解决问题 如何将特征融合与知识蒸馏结合起来,提高模型性能 二.创新点 支持多子网络分支的在线互学习 子网络可以是相同结构也可以是不同结构 应用特征拼接.depthwise+pointwise,将特 ...

  9. 跟着文档学习gulp1.2创建任务(task)

    导出任务 任务(task)可以分为公开(public)或私有(private)类型 公开任务从gulpfile中被导出(export),可以通过gulp命令直接调用 私有任务被设计为在内部使用,通常作 ...

  10. async异步流程控制神器

    async https://www.npmjs.com/package/async Async is a utility module which provides straight-forward, ...

随机推荐

  1. 【MongoDB】The Access control of mongodb

    In this blog we mainly talk about the access control including limitation of ip, setting listen port ...

  2. eclipse 配置Maven问题解决办法:新建maven工程时报错:Could not resolve archetype org.apache.maven.archetypes .

    此文乃本作者配置maven,被其折磨n天,究极解决方案,好文要顶啊.欢迎致电: zhe-jiang.he@hp.com 首先各maven.archetypes下载地址: http://mirrors. ...

  3. 用tsung测试openfire 服务器性能

    最近公司需要做一个有聊天功能的应用,客户讲的是很宏大,用户超多,以前搞过openfire,但没有深入的去了解,就想用它来搞,而且是用 java写的,想扩展也容易些,但在性能上一直担忧,想测试一下它的性 ...

  4. The Class Loader Hierarchy--转载

    Class loaders in the Application Server runtime follow a delegation hierarchy that is illustrated in ...

  5. linux解压缩命令

    1.tar -cvf /data/sc2.tar /data (只打包,不压缩) 把/data下的文件打包成 sc.tar  上面两个都是绝对路径噢 tar -zcvf /data/sc2.tar.g ...

  6. Visual Studio 调试技巧 (三) -- 调试第三方组件代码

    上次我们提到,没有源代码而且没有调试符号,我们也可以 Debug.有人可能会问,我什么时候需要在这种情况下调试吗?! 是的.比方说,我们用了某些第三方的组件,这些组件里面难免也会有 Bug.就算是微软 ...

  7. SQL Server 2005恢复数据库详细图文教程

    不少需要用到sql2005的程序,有很多新手还是会操作,这里写个详细的图文教程送个菜鸟们,高手请飘过.适用于独立主机的朋友使用,如果你还没安装,请按照这个教程来安装 SQL Server 2005图文 ...

  8. 通过开发工具发布web应用到tomcat服务器中--对于小白,大神可以忽略不看,勿喷,谢谢

    需要的工具 MyEclipse和TomCat 本人用的是MyEclipse2014和TomCat7 TomCat结构图 第一步:在MyEclipse中配置TomCat 如图所示: 第二步:创建Web项 ...

  9. IHttpModule接口

    IHttpModule向实现类提供模块初始化和处置事件. IHttpModule包含兩個方法: public void Init(HttpApplication context);public voi ...

  10. linux下安装apache2.2.27

    1.首先下载httpd-2.2.27.tar.gz用linux命令下载 wget http://mirrors.cnnic.cn/apache//httpd/httpd-2.2.27.tar.gz 2 ...