https://www.luogu.com.cn/problem/CF1292C

考虑从小到大放数
发现只有一条链的会产生贡献(放的数会连成一条链)

然后DP即可

#include<bits/stdc++.h>
#define N 4005
#define ll long long
using namespace std;
struct edge {int nxt, v;
} e[N << 1];
int p[N], eid;
void init() {memset(p, -1, sizeof p);eid = 0;
}
void insert(int u, int v) {e[eid].v = v;e[eid].nxt = p[u];p[u] = eid ++;
}
int size[N][N], fa[N][N], n;
ll f[N][N];
void dfs(int u, int rt) {size[rt][u] = 1;for(int i = p[u]; i + 1; i = e[i].nxt) {int v = e[i].v;if(v == fa[rt][u]) continue;fa[rt][v] = u; dfs(v, rt); size[rt][u] += size[rt][v];}
}
ll dp(int u, int v) {// printf("%d %d\n", u, v);if(u == v) return 0;if(f[u][v]) return f[u][v];return f[u][v] = max(dp(u, fa[u][v]), dp(v, fa[v][u])) + 1ll * size[u][v] * size[v][u];
}
int main() {init();scanf("%d", &n);for(int i = 1; i < n; i ++) {int u, v;scanf("%d%d", &u, &v);insert(u, v);insert(v, u);}for(int i = 1; i <= n; i ++) dfs(i, i);ll ans = 0;for(int i = 1; i <= n; i ++)for(int j = 1; j <= n; j ++) ans = max(ans, dp(i, j));printf("%lld", ans);return 0;
}

CF1292C Xenon‘s Attack on the Gangs相关推荐

  1. [CF1292C] Xenon's Attack on the Gangs

    题意 题目链接 给定一棵树,试将 [ 0 , n − 2 ] [0,n-2] [0,n−2] 内的每个整数不重不漏填到每条边上,使得 ∑ 1 ≤ u < v ≤ n mex ( u , v ) ...

  2. [题解][CF-1292C]Xenon‘s Attack on the Gangs

    设 s z r o o t ( u ) sz_{root}(u) szroot​(u)表示以 r o o t root root为根,子树 T ( u ) T(u) T(u)的大小, f a r o ...

  3. Codeforces 1292C Xenon's Attack on the Gangs

    题目链接 Codeforces 1292C Xenon's Attack on the Gangs 题目大意 给定一棵树,将 [ 0 , n − 2 ] [0,n-2] [0,n−2]内的每个整数都仅 ...

  4. Xenon's Attack on the Gangs Codeforces Round #614 (Div. 2)

    Xenon's Attack on the Gangs 题意: 给你一棵树,将0~n-2一一赋值给n-1条边,则S最大可能取值 S = ∑ 1 ≤ u < v ≤ n m e x ( u , v ...

  5. E. Xenon's Attack on the Gangs,Codeforces Round #614 (Div. 2),树形dp

    E. Xenon's Attack on the Gangs http://codeforces.com/contest/1293/problem/E On another floor of the ...

  6. Codeforces Round #614 (Div. 2) E. Xenon's Attack on the Gangs(DP记忆化搜索+思维)

    题目链接:https://codeforces.com/contest/1293/problem/E 题目大意:   给出一棵树,要求给树的每条边赋权值,使得树中所有点的 m e x ( x , y ...

  7. Codeforces 1293 E. Xenon‘s Attack on the Gangs —— 树上记忆化搜索,单点加改成区间加,有丶东西

    This way 题意: 现在有一棵大小为n的树,你要往边上放0~n-2这n-1个数,定义mex(u,v)表示u到v路径上的第一个未出现的自然数,定义S 问你S最大是多少. 题解: 我感觉这道题绝不止 ...

  8. CF1293E Xenon‘s Attack on the Gangs

    传送门 题目大意   给定一棵树, n − 1 n-1 n−1条边.问如何在边上填数(范围从0到n-1,且每个数仅出现一次)使得 S S S 最小 S = ∑ 1 ≤ u , v ≤ n m e x ...

  9. Xenon's Attack on the Gangs(树规)

    题干 Input Output Example Test 1: Test 2: 3 5 1 2 1 2 2 3 1 31 43 53 10 Tips 译成人话 给n个结点,n-1条无向边.即一棵树.我 ...

最新文章

  1. 与uefi_UEFI + GPT 启动 VHD
  2. 10分钟教你看懂mongodb的npm包
  3. 【图像处理】RGB Bayer Color分析
  4. Centos7.1 命令行与图形化界面登陆
  5. android底部导航栏svg,vue开发移动端底部导航条功能
  6. 【转】Dynamics 365 CRM 开发架构简介
  7. OSTaskDelReq()--请求删除任务函数
  8. 网络基础知识:FTP命令及应答码
  9. 自适应方案比较及案例
  10. 使用git第一次成功,记录
  11. MySQL数据库索引教程(超详细)
  12. 显色指数(CRI)计算软件-升级版可视化界面
  13. 编译器,解释器,预编译器之间的关系
  14. c语言数组编程题及解答,C语言数组编程题及解答
  15. 联机版的连连看源代码
  16. 微信小程序解密用户数据失败
  17. android手机闹钟在那里面,手机闹钟软件哪个好用 安卓手机怎么设置闹钟
  18. 适合大学生、职场人士提高效率的实用性网站。
  19. vue 回退 不刷新 缓存问题 从A页跳到B页,缓存A页,当B再次返回A时,页面不刷新
  20. 华为发布会: 牛逼鸿蒙,吹水的大会!

热门文章

  1. 从餐具的生产说到抽象工厂
  2. STM32cubeHAL ADC+TIM+DMA (二)
  3. 如何区别同质化,实现差异化?
  4. 苹果免密支付怎么关闭_有人苹果手机被盗刷了!那是设置有问题...
  5. scp 传目录_scp拷贝文件及文件夹
  6. 用例图、活动图、时序图、类图的详细介绍
  7. python 如何实现依据依存关系构造邻接矩阵(有向图)
  8. 【C语言细节】计算自然对数的底 e遇坑
  9. 移动前端webapp(html5页面)
  10. ABB机器人动作监控和无动作执行的使用