题解 1523: 蓝桥杯算法提高VIP-打水问题

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

只做记录,基本借鉴别人

摘要:解题思路:          要将三个水龙头的等待时间分别累加起来注意事项:参考代码:#include<bits/stdc++.h> using namespace std; int main()……

题解 1523: 蓝桥杯算法提高VIP-打水问题(JAVA+贪心)

####贪心策略给所有取水人员编号为0~n-1,水龙头编号为0~t-1,对所有人的取水时间按从小到大排序,然后从0号人员开始,依次安排到对应的水龙头(即count%t),除了每个水龙头的第一个接水的人不需要等待外,其他均需要累加当前水龙头前i个人的取水时间作为第i+1个人的等待时间。

打水问题-题解(解法比较便于理解)

分析:这道题可以换一个角度去看(突发奇想。。。)拿样例给出的数据来说733614257最佳发案为:1号水龙头:1472号水龙头:253号水龙头:36矩阵提取出来看看。。。1472536之后再竖着读一遍就是1234567很神奇的就是它正好是升序排列因此便想到可以用一个二维数组去存储然后将其中填入合适的数

蓝桥杯算法提高VIP-打水问题-题解(Java代码)

简单说一下结题思路:为了节省时间肯定要把打水时间长的人向后排,因为这样长时间接水的人就不用别人等了,所以我将数组排序后直接将最后的水龙头数量的大数字赋值为0;然后分别计算每个水龙头接水人消耗掉的时间,最后累加求出结果;我用的是二维数组,以水龙头为单位计算;二维数组的两个维度分别为:1.水龙头数;2.总