关注
第三题这样暴力dfs能AC?我是先对权值排序再dfs,标记走过的节点做优化,只过了20%
#include <cstdio>
(802)#include <cstring>
#include <algorithm>
using namespace std;
typedef pair<int, int> PII;
const int N = 100010, M = N * 2;
int h[N], e[M], ne[M], idx;
int w[N];
PII node[N];
bool st[N];//标记走过的,以此处为头必不可能为最长路径
int n;
int ans = 1;
void add(int a, int b)
{
e[idx] = b, ne[idx] = h[a], h[a] = idx ++;
}
void dfs(int u, int s)
{
st[u] = true;
ans = max(ans, s);
for (int i = h[u]; ~i; i = ne[i])
{
int j = e[i];
if (!st[j] && w[j] > w[u]) dfs(j, s + 1);
}
}
int main()
{
memset(h, -1, sizeof h);
scanf("%d", &n);
// 记录点权
for (int i = 1; i <= n; i ++)
{
scanf("%d", &w[i]);
node[i] = {w[i], i};
}
// 建图
for (int i = 0; i < n - 1; i ++)
{
int u, v;
scanf("%d%d", &u, &v);
add(u, v), add(v, u);
}
// 给点权排序
sort(node, node + n);
// 遍历树
for (int i = 1; i <= n; i ++)
{
if (!st[node[i].second]) dfs(node[i].second, 1);
}
printf("%d\n", ans);
return 0;
}
查看原帖
1 1
相关推荐
02-23 16:52
华南理工大学 自然语言处理 点赞 评论 收藏
分享
牛客热帖
更多
- 1... 春招五周,面了四十多场,最后想说的全在这了2.7W
- 2... AIcoding上线了!你确定不来刷刷?1.4W
- 3... 双非春秋招3月总结与收获4819
- 4... 4.2字节后端一面3820
- 5... 美团暑期二面,横向挂3506
- 6... #恒生电子笔试#测试用例都对,一交就通过率为0,燃尽3426
- 7... 26年最值得冲的产品项目是什么?一个过来人的大实话2718
- 8... 面试连挂3家后,我终于学会了"不会"的正确说法2687
- 9... 2026 产品岗春招|这种「稀缺管培生」该怎么准备?2479
- 10... 银行老学长带来点春招信息差2479
正在热议
更多
# 面试被问到不会的问题,你怎么应对? #
20770次浏览 512人参与
# 学历VS实习,哪个更重要? #
805次浏览 30人参与
# 厦门银行科技岗值不值得投 #
15202次浏览 352人参与
# 你见过哪些招聘隐形歧视? #
21528次浏览 186人参与
# 设计人的面试记录 #
204968次浏览 1630人参与
# 你觉得大几开始实习最合适? #
24154次浏览 243人参与
# 招商银行数字金融训练营 #
106061次浏览 915人参与
# uu们,春招你还来吗? #
59514次浏览 632人参与
# 面试中,你被问过哪些奇葩问题? #
94577次浏览 1171人参与
# 哔哩哔哩笔试 #
34664次浏览 140人参与
# 影石Insta360求职进展汇总 #
183959次浏览 1377人参与
# 国企/银行/研究所公司爆料 #
203349次浏览 913人参与
# 你都用vibe coding做过什么? #
17915次浏览 711人参与
# 供应链/物流校招攻略 #
12392次浏览 218人参与
# 虹软科技求职进展汇总 #
16620次浏览 138人参与
# AI Coding实战技巧 #
12790次浏览 273人参与
# 机械人还在等华为开奖吗? #
325156次浏览 1599人参与
# 做完笔试后你收到面试了吗? #
23673次浏览 210人参与
# 恒生电子笔试 #
19885次浏览 155人参与
# 你现在一天AI几次? #
10783次浏览 118人参与
# Vibe Coding 会干掉初级岗位吗? #
19745次浏览 211人参与
# 如果人生可以debug你会改哪一行? #
9253次浏览 139人参与
