呵呵,一开始天真的我以为求个 西格玛 C(??,3)就好了。。

(题解:比枚举2个数的再多一个,,一样搞)

 #include <bits/stdc++.h>
#define LL long long
#define lowbit(x) x&(-x)
#define inf 1e15
using namespace std;
inline int ra()
{
int x=,f=; char ch=getchar();
while (ch<'' || ch>'') {if (ch=='-') f=-; ch=getchar();}
while (ch>='' && ch<='') {x=x*+ch-''; ch=getchar();}
return x*f;
}
struct edge{int next,to;}e[];
int tot[],mx,n,head[],cnt,s1[],s2[];
LL ans;
void insert(int x, int y){e[++cnt].next=head[x]; e[cnt].to=y; head[x]=cnt;}
void dfs(int x, int fa, int deep)
{
tot[deep]++;
mx=max(mx,deep);
for (int i=head[x];i;i=e[i].next)
{
if (e[i].to==fa) continue;
dfs(e[i].to,x,deep+);
}
}
int main(int argc, char const *argv[])
{
n=ra();
for (int i=; i<n; i++)
{
int x=ra(),y=ra();
insert(x,y); insert(y,x);
}
for (int x=; x<=n; x++)
{
memset(s1,,sizeof(s1));
memset(s2,,sizeof(s2));
for (int i=head[x];i;i=e[i].next)
{
dfs(e[i].to,x,);
for (int j=; j<=mx; j++)
{
ans+=s2[j]*tot[j];
s2[j]+=s1[j]*tot[j];
s1[j]+=tot[j];
}
for (int j=; j<=mx; j++) tot[j]=;
}
}
cout<<ans;
return ;
}

bzoj 3522: [Poi2014]Hotel的更多相关文章

  1. BZOJ.3522.[POI2014]Hotel(DP)

    题目链接 BZOJ 洛谷 以为裸点分治,但数据范围怎么这么小?快打完了发现不对.. n^2做的话其实是个水题.. 枚举每一个点为根,为了不重复计算,我们要求所求的三个点必须分别位于三棵子树上. 考虑当 ...

  2. 【刷题】BZOJ 3522 [Poi2014]Hotel

    Description 有一个树形结构的宾馆,n个房间,n-1条无向边,每条边的长度相同,任意两个房间可以相互到达.吉丽要给他的三个妹子各开(一个)房(间).三个妹子住的房间要互不相同(否则要打起来了 ...

  3. 【刷题】BZOJ 4543 [POI2014]Hotel加强版

    Description 同OJ3522 数据范围:n<=100000 Solution dp的设计见[刷题]BZOJ 3522 [Poi2014]Hotel 然后发现dp的第二维与深度有关,于是 ...

  4. 3522: [Poi2014]Hotel( 树形dp )

    枚举中点x( 即选出的三个点 a , b , c 满足 dist( x , a ) = dist( x , b ) = dist( x , c ) ) , 然后以 x 为 root 做 dfs , 显 ...

  5. 3522: [Poi2014]Hotel

    3522: [Poi2014]Hotel Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 253  Solved: 117[Submit][Status ...

  6. BZOJ.4543.[POI2014]Hotel加强版(长链剖分 树形DP)

    题目链接 弱化版:https://www.cnblogs.com/SovietPower/p/8663817.html. 令\(f[x][i]\)表示\(x\)的子树中深度为\(i\)的点的个数,\( ...

  7. bzoj 4543: [POI2014]Hotel加强版

    Description 给出一棵树求三元组 \((x,y,z)\,,x<y<z\) 满足三个点两两之间距离相等,求三元组的数量 Solution 考虑暴力 \(DP\) 设 \(f[i][ ...

  8. BZOJ3522: [Poi2014]Hotel

    3522: [Poi2014]Hotel Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 195  Solved: 85[Submit][Status] ...

  9. bzoj 3522 / 4543 [POI 2014] Hotel - 动态规划 - 长链剖分

    题目传送门 bzoj 3522 需要root权限的传送点 bzoj 4543 快速的传送点 慢速的传送点 题目大意 给定一棵树,问有多少个无序三元组$(x, y, z)$使得这三个不同点在树上两两距离 ...

随机推荐

  1. mybatis typealias 问题

    最近在学mybatis  在一个简单的问题上却花了挺长时间 网上也没发现有类似的案例 故记录一下 在configuration里面 typealias 和 properties 同时用会出错 具体原因 ...

  2. Python 之并发编程之进程中(守护进程(daemon)、锁(Lock)、Semaphore(信号量))

    五:守护进程 正常情况下,主进程默认等待子进程调用结束之后再结束守护进程在主进程所有代码执行完毕之后,自动终止kill -9 进程号 杀死进程.守护进程的语法:进程对象.daemon = True设置 ...

  3. 2.Git知识

    Git安装 Git在不同的操作系统上安装是不一样的,这里只讲解我们需要的,也就是在Windows下的安装,主要安装msysGit和TortoiseGit 安装msysGit,到https://code ...

  4. java-jpa-criteriaBuilder使用

    一个复杂的查询例子(包含常用的所有查询方法) CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); //查询结果所 ...

  5. QQ企业通--客户端登陆模块设计---知识点2

    Maximizable 属性               获取一个值,该值指定窗口是否可以最大化. fromBorderstyle 成员名称    说明 None            无边框. Fi ...

  6. Go语言 | 哪些大公司在用go语言?

    Go大概09年面世以来,已经8年了,也算是8年抗战.在这8年中,已经有很多公司开始使用Go语言开发自己的服务,甚至完全转向Go开发,也诞生了很多基于Go的服务和应用,比如Dokcer.k8s等,现在我 ...

  7. 第1节 kafka消息队列:10、flume与kafka的整合使用

    11.flume与kafka的整合 实现flume监控某个目录下面的所有文件,然后将文件收集发送到kafka消息系统中 第一步:flume下载地址 http://archive.cloudera.co ...

  8. Jquery设置完颜色后hover不生效的解决办法

    执行完代码后发现写在样式表中的hover效果失效,改了好几遍差点重新写函数,后来发现很简单,是优先级的问题,css()中的内容覆盖了之前的样式 只需要在样式后写!important即可解决! .fil ...

  9. 【深入】 - AST抽象语法树

    参考: https://segmentfault.com/a/1190000016231512

  10. springboot打war包上传到阿里云的Linux服务器

    下面的每一步应该都必不可少: 1.启动类 继承这个类,并且重新configure这个方法,return builder.sources(Code007Application.class); 2.pom ...