给定一个 N 个结点的二叉树,每个结点有个点权Fi,点权互不相同。
再给定M种交换方式,每种交换方式形如(ui,vi),表示一次操作可以选择M种交换方式的任意一种,将ui,vi的点权交换。
求最少多少次交换,可以将原二叉树变为一个满足大根堆性质的二叉树(父亲的点权是以它为根的子树中最大的)。
【输入】
第一行,两个整数 N, M。
第二行,N个整数 R1,R2,…,RN,由空格隔开。Ri表示点i的父亲。
对于二叉树的根,Ri用0表示。
第三行,N个互不相同的整数F1,F2,…,FN,由空格隔开。其中 Fi表示点i的点权。
接下来M行,每行两个整数ui,vi,表示每种交换方式。