Java教程

6.18

本文主要是介绍6.18,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

CF1154B Make Them Equal

题意:

  给一个长度为n的序列,求一个最小的数D,序列中的所有元素加上D,减去D或者不变,使修改后的序列所有元素都相等。

思路:

  一种数就d=0,两种数,如果差为偶数,d就是差的一半,否则就是差值,三种数如果是等差的就是差值,否则输出-1,三种以上的数字都是-1

 

CF1408D Searchlights

题意:

  给出n个强盗的二维坐标和m盏灯的二维坐标,如果强盗i的横/纵坐标大于灯j的横/纵坐标就不被看见,每次可以让所有强盗的x+1或y+1,求最小操作数使所有强盗都不被看见。

思路:

  因为n和m都很小,所以对于每个强盗,暴力枚举向上走的步数,再算出向右走的最小步数,其中取个最小值,再在所有强盗中取最大值

 

CF1399E1 Weights Division (easy version)

题意:

  给出一棵以1为根的数,每次可以选择一条边减半,求最少操作后使根到各节点距离之和小于S

思路:

  很明显可以贪心,每条边操作可以减少的值为(x-x/2)*son,直接从大到小选

 

CF1379C Choosing flowers

题意:

  有m种物品,每种物品有无限个,求购买n个物品的最大价值。对于第i种物品,第一次买时的贡献是ai​ ,接下来每次购买的贡献都是bi​

思路:

  因为可以购买无数个,如果再贪心中选择了一个贡献bi的物品,那么剩下的都会买bi,所以bi最多会选择一个,所以枚举购买的bi,把所有大于bi的a都买了,剩下的买bi

 

CF1385E Directing Edges

题意:

  给一个由有向边与无向边组成的图,需要你把无向边变成有向边,且图中没有环。

思路:

  首先判断没有解的情况, 如果a到b有一条无向边,无论a->b还是b->a都会形成环的话,那么原图中就已经存在环,直接输出no,然后按照有向边的出度和入度进行拓扑排序,无向边反向连接

这篇关于6.18的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!