【华为校园招聘软件】 2021-xx-xx


编程题 (第1/3题)

【编程题目 | 100分】最优节点 [ 2021 考试题 ]


1、最优节点

题目描述

/*

4

4 9 -7 -8

0 1

0 3

1 2

1.移除节点1及其子节点:

一颗子树的节点值总和为 (9 – 7) = 2 另一颗子树的节点值总和为 4 – 8 = -4

分成的两棵树各节点的和之间的差绝对值为 |-4-2| = 6;

2.移除节点2及其子节点:

一颗子树的节点值总和为 (4 + 9 – 8) = 5 另一颗子树的节点值总和为 -7 = -7

分成的两棵树各节点的和之间的差绝对值为 |-7 – 5| = 12;



代码实现


C++


#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

#define endl "\n"
//#define int long long
#define IOS cin.sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define pb push_back
#define hashTable make_pair
#define all(x) (x).begin(),(x).end()
#define fi first
#define se second
#define SZ(x) ((int)(x).size())
#pragma comment(linker, "/STACK:1024000000,1024000000")
typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll, int> pli;
typedef pair<int, char> pic;
const double eps = 1e-8;
const ll mod = 1e9 + 7;
const int inf = 0x3f3f3f3f;
const ll INF = 0x3f3f3f3f3f3f3f3f;

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看