CF1292C Xenon‘s Attack on the Gangs
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相关推荐
- [CF1292C] Xenon's Attack on the Gangs
题意 题目链接 给定一棵树,试将 [ 0 , n − 2 ] [0,n-2] [0,n−2] 内的每个整数不重不漏填到每条边上,使得 ∑ 1 ≤ u < v ≤ n mex ( u , v ) ...
- [题解][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 ...
- 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]内的每个整数都仅 ...
- 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 ...
- 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 ...
- 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 ...
- Codeforces 1293 E. Xenon‘s Attack on the Gangs —— 树上记忆化搜索,单点加改成区间加,有丶东西
This way 题意: 现在有一棵大小为n的树,你要往边上放0~n-2这n-1个数,定义mex(u,v)表示u到v路径上的第一个未出现的自然数,定义S 问你S最大是多少. 题解: 我感觉这道题绝不止 ...
- 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 ...
- 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条无向边.即一棵树.我 ...
最新文章
- 与uefi_UEFI + GPT 启动 VHD
- 10分钟教你看懂mongodb的npm包
- 【图像处理】RGB Bayer Color分析
- Centos7.1 命令行与图形化界面登陆
- android底部导航栏svg,vue开发移动端底部导航条功能
- 【转】Dynamics 365 CRM 开发架构简介
- OSTaskDelReq()--请求删除任务函数
- 网络基础知识:FTP命令及应答码
- 自适应方案比较及案例
- 使用git第一次成功,记录
- MySQL数据库索引教程(超详细)
- 显色指数(CRI)计算软件-升级版可视化界面
- 编译器,解释器,预编译器之间的关系
- c语言数组编程题及解答,C语言数组编程题及解答
- 联机版的连连看源代码
- 微信小程序解密用户数据失败
- android手机闹钟在那里面,手机闹钟软件哪个好用 安卓手机怎么设置闹钟
- 适合大学生、职场人士提高效率的实用性网站。
- vue 回退 不刷新 缓存问题 从A页跳到B页,缓存A页,当B再次返回A时,页面不刷新
- 华为发布会: 牛逼鸿蒙,吹水的大会!