6.12(e,f,g,h,i)

E - Black and White Tree

题意:

  一棵树由n个节点组成,每个节点都被涂成黑色或白色,相连的点颜色不同,每个点有一个值s[i],表示与该节点相连的边值的和,输出树的每条边连接的点和值。

思路:

  白点值的和肯定等于黑点值的和,将黑点和白点分别排序,选出最小的两个点,相连后值较小的点弹出,值较大的点减去小的值,重复直到点清空。

 

F - The table

题意:

  给出一个n*m的矩阵,你可以对行/列进行操作,使该行/列全部数字取反,使得矩阵中每行/列的和都大于0

思路:

  感觉就是一个贪心,每次找到行或列中和最小且小于0的取反,直到满足题目要求,取反偶数次的等于没取反

 

G - Start of the season

题意:

  构造一个矩阵,满足三个条件

  1)主对角线为0  2)矩阵关于主对角线对称  3)每行每列没有重复的数字

思路:

  如果只考虑2和3,且不放0,构造的矩阵就是

  123

  231

  312

  然后把主对角线替换为0

  023            0231

  201            2013

  310  然后把缺的数字补齐 3102 

                 1320

 

H - Polycarp's Picture Gallery

题意:

  给出m组照片,每组有ai张,选出n张照片,相邻的照片(1与n相邻)不能出自同一组。

思路:

  数据范围不是很大,感觉就是一个贪心,每次选和前一张不同的组中剩余最多的放,最后一张特判一下

 

I - Powerful Ksenia

题意:

  给出长度为n的序列,每次操作可以选择i,j,k三个数变成i xor j xor k,问能否在n次操作内让数列变成相同的数。

思路:

  题目不要求最小操作数,但要求在n次内,每次操作可以让三个数变成相同的数,如果i,j,k中有两个数相等,那就相当于全部变成单独出现的数,所以将序列变成相同的数对,再用一个数做一次就可以。

  如果n为奇数,直接123,345,567....最后12相同,34相同,单独出一个n,操作数为n-1符合条件

  如果n为偶数,首先序列xor值应该为0,所以序列最后相同的数是任意的,直接将n放出来做前n-1位,最后结果也会和第n位相同

 

posted @ 2021-06-12 19:02  kasiruto  阅读(70)  评论(0编辑  收藏  举报