A题:

统计每种字符数量即可。

B题:

打表找规律,发现n*(n+1)/2的奇偶性为:奇奇偶偶奇奇偶偶......

C题:

输出min((a[i]+1)/i)。

请注意答案最大可能为1e9+1。

有个憨憨inf设的1e9,一直没发现小了,导致C过得比F晚,是谁呢?

D题:

不清楚有没有贪心做法,但是动态规划做法正确性比较显然。

表示考虑仅前个位置,最后一次恢复在处进行,恢复所需的最短时间。

设数组是数组的前缀和,枚举上一次进行恢复的位置,显然有转移:

alt

显然可以使用单调队列优化转移,最后别忘了答案加上的移动时间。

E题:

首先确定需要的最短时间:

然后从第1个烙饼、第1个烤箱开始直接连续分配即可。

由于需要的最短时间大于某一个烙饼所需的时间,因此每个烙饼最多只出现在两个烤箱中,且在时间上一定没有重复段。

F题:

定义表示仅考虑前天,当第天水位为时的最大无灾天数。

设第天的水位相比预测值下降了,显然在不考虑水位变0的情况下有

水位变0的情况特殊考虑:其前一天的水位值可以任意指定,即任意。

故有转移:

alt

显然维护后缀max即可把转移优化到