A题:
统计每种字符数量即可。
B题:
打表找规律,发现n*(n+1)/2的奇偶性为:奇奇偶偶奇奇偶偶......
C题:
输出min((a[i]+1)/i)。
请注意答案最大可能为1e9+1。
有个憨憨inf设的1e9,一直没发现小了,导致C过得比F晚,是谁呢?
D题:
不清楚有没有贪心做法,但是动态规划做法正确性比较显然。
设表示考虑仅前
个位置,最后一次恢复在
处进行,恢复所需的最短时间。
设数组是数组
的前缀和,枚举上一次进行恢复的位置
,显然有转移:
显然可以使用单调队列优化转移,最后别忘了答案加上的移动时间。
E题:
首先确定需要的最短时间:
然后从第1个烙饼、第1个烤箱开始直接连续分配即可。
由于需要的最短时间大于某一个烙饼所需的时间,因此每个烙饼最多只出现在两个烤箱中,且在时间上一定没有重复段。
F题:
定义表示仅考虑前
天,当第
天水位为
时的最大无灾天数。
设第天的水位相比预测值下降了
,显然在不考虑水位变0的情况下有
。
水位变0的情况特殊考虑:其前一天的水位值可以任意指定,即任意。
故有转移:
显然维护后缀max即可把转移优化到。