题解:CF2224A Zhily and Array Operating
分析
显然我们的目标要使每个数尽可能的大,原因:
- 尽可能大才能使这个数尽可能使整数。
- 若这个数是正数,则可以前一个数做贡献,越大前一个数是正数的可能性越大。
而一个数变大需要其后一个数是正数,且越大越好。因此,考虑从后往前扫,若这个数加上后一个数可以更大,那么就加上后一个数。若加完后是正数,维护答案。
赛时吃了一发罚时,因为直接从 $N$ 到 1 扫,没有处理 a[N+1].
参考代码
1 |
|
显然我们的目标要使每个数尽可能的大,原因:
而一个数变大需要其后一个数是正数,且越大越好。因此,考虑从后往前扫,若这个数加上后一个数可以更大,那么就加上后一个数。若加完后是正数,维护答案。
赛时吃了一发罚时,因为直接从 $N$ 到 1 扫,没有处理 a[N+1].
1 | #include <iostream> |