比赛链接:https://codeforces.com/contest/1843
A. Sasha and Array Coloring
题意:一个数组,可以任意分成任意组,每组的贡献是组最大值减最小值,求最大总贡献
思路:一组内只有最大值和最小值有用,所以每组只由两个数组成即可,用贪心的思路,依次取出原数组的最大和最小值成组即可
B. Long Long
题意:给一个数组,可以对它进行任意区间操作,使区间内的数都乘-1,问最大的数组总和以及对应的最少区间操作次数
思路:显然最大数组总和就是数组绝对值的和,至于最少操作次数,就是找有几个小于等于0的连续区间,输入的时候用while读入连续区间即可
C. Sum in Binary Tree
题意:一个满二叉树,问从某个结点到根节点的路径上的编号和
思路:由满二叉树的性质,父结点就是子结点除以2,所以一路除过去加和就行
D. Apple Tree
题意:两个苹果在一棵树上,知道两个的初始节点,苹果会往子节点落,问最终到的两个叶节点的组合数
思路:其实就是两个子树的叶节点个数相乘
E. Tracking Segments
题意:如果一个区间中1的个数比0多,说这个区间 is beautiful,有q次change,每次change会使数组中一个数变成1,问在这个过程中使得最早有beautiful的change是哪一个,或者在这个过程中没有一个是beautiful
思路:有一个change,在它之前没有beautiful,在他之后有beautiful,可以用二分来做,二分change的次数用前缀和来查询即可
F题交互题暂不做
标签:beautiful,881,题意,Codeforces,数组,区间,Div,节点,change From: https://www.cnblogs.com/V-sama/p/17639287.html