码迷,mamicode.com
首页 > 其他好文 > 详细

[CF1292C] Xenon's Attack on the Gangs

时间:2020-04-11 13:05:05      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:技术   xen   int   gif   show   hide   close   ack   one   

前言

我水一次题解。我是真的真的真的没有时间了,昨晚高考课任务太多了,完全完成一道题就十点半了。这个看懂题意就贼费劲,在晚新闻之前真的没有时间写题了。水一次,真的就这一次,讲完之后一定补上。我谢罪!

题目

原题链接

解说

解说地址(晚自习一定补上自己的思路,谢罪!)

代码

技术图片
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const int maxn=3000+5;
 5 int n,rt,p[maxn][maxn],s[maxn][maxn];
 6 ll f[maxn][maxn],ans;
 7 vector<int> G[maxn];
 8 void Build(int u){
 9     s[rt][u]=1;
10     for(int v: G[u]) if(v^p[rt][u]){
11         p[rt][v]=u;
12         Build(v);
13         s[rt][u]+=s[rt][v];
14     }
15 }
16 ll dp(int u,int v){
17     if(u==v) return 0;
18     if(f[u][v]) return f[u][v];
19     return f[u][v]=max(dp(u,p[u][v]),dp(v,p[v][u]))+s[u][v]*s[v][u];
20 }
21 int main(){
22     scanf("%d",&n);
23     for(int i=1;i<n;i++){
24         int x,y;
25         scanf("%d%d",&x,&y);
26         G[x].push_back(y);
27         G[y].push_back(x);
28     }
29     for(int i=1;i<=n;i++){
30         rt=i;
31         Build(i);
32     }
33     for(int i=1;i<=n;i++){
34         for(int j=1;j<=n;j++){
35             ans=max(ans,dp(i,j));
36         }
37     }
38     printf("%lld",ans);
39     return 0;
40 }
View Code

(C++ 11运行)

 

幸甚至哉,歌以咏志。

[CF1292C] Xenon's Attack on the Gangs

标签:技术   xen   int   gif   show   hide   close   ack   one   

原文地址:https://www.cnblogs.com/DarthVictor/p/12678634.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!