设为首页 加入收藏

TOP

BZOJ 3522 Poi2014 Hotel DFS
2015-07-20 17:12:47 来源: 作者: 【 】 浏览:2
Tags:BZOJ 3522 Poi2014 Hotel DFS

题目大意:给定一棵树,求有多少无序三元组(x,y,z)满足x,y,z互不相等且Dis(x,y)=Dis(y,z)=Dis(x,z)

三个点在树上有两种情况

第一种是三点共链 第二种是存在且仅存在一个中心点满足三个点分别在这个点的三个不同的出边的方向

第一种情况显然无解

第二种情况一定满足三个点到中心点的距离相等

由于n<=5000因此直接枚举中心点然后枚举中心点的每一条出边DFS即可

时间复杂度O(n^2)

#include 
  
   
#include 
   
     #include 
    
      #include 
     
       #define M 5050 using namespace std; struct abcd{ int to,next; }table[M<<1]; int head[M],tot; int n; long long ans; int temp[M],f[M],g[M]; void Add(int x,int y) { table[++tot].to=y; table[tot].next=head[x]; head[x]=tot; } void DFS(int x,int from,int dpt) { int i; temp[dpt]++; for(i=head[x];i;i=table[i].next) if(table[i].to!=from) DFS(table[i].to,x,dpt+1); } int main() { int i,j,x,y; cin>>n; for(i=1;i
      
       

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇LeetCode First Missing Positive 下一篇HDU 1070 Milk

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·有没有哪些高效的c++ (2025-12-27 08:20:57)
·Socket 编程时 Accep (2025-12-27 08:20:54)
·计算机网络知识点总 (2025-12-27 08:20:52)
·一篇说人话的文章, (2025-12-27 07:50:09)
·Python Web框架哪家 (2025-12-27 07:50:06)