题目链接 Tree

$dp[x][i]$表示以x为根的子树中x所属的连通快大小为i的时候 答案最大值

用$dp[x][j]$ * $dp[y][k]$ 来更新$dp[x][j + k]$。

(听高手说这类题的套路其实都差不多)

因为这题输出数据会很大所以用Java……

QAQ

import java.util.*;
import java.io.*;
import java.math.*; public class Main{
static final int maxn = 710;
static BigInteger dp[][] = new BigInteger[maxn][maxn];
static int v[][] = new int[maxn][maxn];
static int sum[] = new int[maxn];
static int n; static void dfs(int x, int pre){ int y;
sum[x] = 1;
for(int i = 0; i <= n; ++i) dp[x][i] = BigInteger.ONE;
for(int i = 1; i <= v[x][0]; ++i){
y = v[x][i];
if(y == pre) continue;
dfs(y, x);
for(int j = sum[x]; j >= 0; --j)
for(int k = sum[y]; k >= 0; --k){
dp[x][j + k] = dp[x][j + k].max(dp[x][j].multiply(dp[y][k]));
}
sum[x] += sum[y];
}
for(int i = 1; i <= sum[x]; ++i) dp[x][0] = dp[x][0].max(dp[x][i].multiply(BigInteger.valueOf(i)));
} public static void main(String[] args){
Scanner in = new Scanner(System.in);
n = in.nextInt();
for(int i = 1; i <= n; ++i){
v[i][0] = 0;
}
for(int i = 1; i < n; ++i){
int x = in.nextInt();
int y = in.nextInt();
v[x][++v[x][0]] = y;
v[y][++v[y][0]] = x;
}
dfs(1, 0);
System.out.println(dp[1][0]);
} }

最新文章

  1. CentOS:设置系统级代理(转)
  2. css初始化代码
  3. 如何在VISIO 2010/2013 中关闭Shape protection(图形保护)
  4. Nim编码风格
  5. September 2nd 2016 Week 36th Friday
  6. 点击空白处隐藏div
  7. gettimeofday() 获取系统时间,精确到微秒 这个似乎只能在linux 下用,不能在windows 下用
  8. Smarty中一些标签的使用
  9. C语言学习总结(二) 运算流程
  10. Java Servlet 工作原理问答
  11. OC学习那些事:点语法
  12. linux下提示bash:command not found
  13. [转载] HTTP协议详解
  14. 面向对象(java菜鸟的课堂笔记)
  15. Mybatis使用MySQL进行模糊查询时输入中文检索不到结果
  16. 路径R
  17. [转] JavaScript 单例模式
  18. (2)Microsoft office Word 2013版本操作入门_快速选中
  19. cookie之三天免登录代码
  20. Ramdisk虚拟内存盘,Swap分区

热门文章

  1. 补之前 如何改变jupyter打开文件的路径
  2. List&lt;Object&gt;删除某一个Object
  3. UVALive - 3942 Remember the Word (Trie + DP)
  4. Java获得字节码对象的三种方式
  5. CDH4 journalnode方式手工安装手册之一
  6. hdu3487Play with Chain
  7. HDU 5402 模拟 构造 Travelling Salesman Problem
  8. syntax error, error in :&#39;e id=1?&#39;, expect QUES, actual QUES pos 66, line 1, column 66, token QUES错误
  9. tarjan - SPFA - Luogu 3387【模板】缩点
  10. Apache下error.log文件太大的处理方法