求助一道题,自己出的但是不会做:
题目描述
给出一棵**二叉树**,每个点都有点权,你可以进行如下的两种操作:
层间交换:选中一个节点,将它和它的某个祖先节点交换权值。
层内交换:对于同一层的节点,选中连续一段,将这一段中的点权翻转倒序。
最终请你求出最小的操作次数,使交换后的二叉树满足以下两个条件:
层间有序:第 i 层的点权最大值小于或等于第 i + 1 层的点权最小值
层内有序:在同一层的权值从左到右单调不减。
输入格式
第一行包含一个整数 n,表示树的节点数。
接下来 n 行,每行包含三个整数:u, v, w。u 为左链接(为 0 表示无链接),v 为右链接(为 0 表示无链接),w 为该节点的权值。
输出格式
一个整数,表示最小操作次数。
输入输出样例
#1
输入
#1
5
13 2 3
4 0 0
12 4 5
20 0 0
40 0 0
输出
#1
2