链接

这题可以算树形DP吧 树上的递推

对于树上的某个节点 反着算比较好做 就是算有多少有simple路径的

固定某个节点u 另两个节点 有两种取法

1.从不同子树里各选一个

2.从所有子树里选一个 再从以u为跟的子树 外面选一个

求总和

 #pragma comment(linker, "/STACK:16777216")
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
using namespace std;
#define N 100010
#define LL __int64
struct node
{
int u,v,next;
}ed[N<<];
int head[N],t;
LL sum[N],ans,n;
void init()
{
t = ;
memset(head,-,sizeof(head));
}
void add(int u,int v)
{
ed[t].u = u;
ed[t].v = v;
ed[t].next = head[u];
head[u] = t++;
}
LL dfs(int pre,int u)
{
int i;
LL s=,ss;
sum[u] = ;
for(i = head[u]; i!=- ; i = ed[i].next)
{
int v = ed[i].v;
if(v==pre) continue;
ss = dfs(u,v);
ans+=s*ss;
s+=ss;
sum[u]+=ss;
}
ans+=s*(n-sum[u]);
return sum[u];
}
int main()
{
int i,u,v;
while(scanf("%I64d",&n)!=EOF)
{
init();ans=;
memset(sum,,sizeof(sum));
for(i = ; i < n ; i++)
{
scanf("%d%d",&u,&v);
add(u,v);
add(v,u);
}
dfs(-,);
LL oo = (n-)*n/*(n-)/;
printf("%I64d\n",oo-ans);
}
return ;
}

hdu4705Y的更多相关文章

随机推荐

  1. 无限大整数相加算法的C语言源代码

    忙里偷闲,终于完成了无限大整数相加算法的C语言代码,无限大整数相加算法的算法分析在这里. 500位的加法运行1000次,不打印结果的情况下耗时0.036秒,打印结果的情况下耗时16.285秒. 下面是 ...

  2. NodeJs随心学习(一)之UEditor开源项目部署

    作为NodeJs的初学者+6年的码农,我觉得从基础看起太慢了,还是直接上Demo好玩一些. 嗯,直接开玩..今天在GitHub上看到了UEditor之NodeJs版的开源项目激起了我浓厚的兴趣,随后决 ...

  3. JavaScript 学习笔记: 扩充类型的功能

    JavaScript 是允许给基本类型扩充功能的.例如,可以通过对Object.prototype增加方法,可以让该方法对所有的对象都可用. 这样的方式对函数,数组,字符串,数字,正则表达式和布尔值同 ...

  4. JAVA笛卡尔曲线

    效果图如下: import java.applet.*; import java.awt.*; public class Descartes extends Applet { int AppletWi ...

  5. 关于atoi的实现

    一.关于atoi atol的实现 __BEGIN_NAMESPACE_STD __extern_inline double __NTH (atof (__const char *__nptr)) { ...

  6. QT Slot/Signal

    QT的Slot/Singal-槽/信号 1.Usage/使用方法 所有从 QObject 或其子类 ( 例如 Qwidget) 派生的类都能够包含 信号/signal和 槽/slot.当对象改变其状态 ...

  7. sql的集合操作

    原文转自:http://blog.csdn.net/qsyzb/article/details/12560917 SELECT语句的查询结果是元组的集合,所以多个SELECT语句的结果可进行集合操作. ...

  8. Poj 1017 / OpenJudge 1017 Packets/装箱问题

    1.链接地址: http://poj.org/problem?id=1017 http://bailian.openjudge.cn/practice/1017 2.题目: 总时间限制: 1000ms ...

  9. DataList和Repeater

    DataList和Repeater是两个十分有用的控件,在新闻列表和图片展示的地方经常用到.在这里简单的把他们介绍一下. 1.DataList: 前端页面: <asp:DataList ID=& ...

  10. MySQL二进制文件规范安装

    演示环境介绍 操作系统:CentOS 6.7  (64位) 二进制包:mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz MySQL 下载地址:http://dev.m ...