牛客算法竞赛入门课第一节习题Part5(糖糖~数学考试)
糖糖别胡说,我真的不是签到题目
思路:
每只糖糖存活的条件是后面没有另外一组的比他大的糖糖,所以我们可以从后向前维护每一组糖糖的最大值就好了。
加上发功的话就先把最后的能力值算出来,再倒着维护一个最大值就好。
代码:
奇♂妙拆分
题意:
问n最多可以被拆分成多少个不同的自然数,使得该自然数的乘积等于n
思路:
从最小的因子开始枚举即可,因为数据的原因,可以直接枚举到n,但一般这种题都是枚举因子枚举到sqrt(n),这时要注意边界的处理。
代码:
数学考试
题意:
给定一个数列,要求选两个不连续的长度为k的区间使得和最大。
思路:
数据范围是2e5,肯定是要用前缀和处理一下。
然后我们可以维护前面长度为k的区间的最大值,枚举第二个区间的起点,取max即可。
代码: