2 条题解
-
3
T3 < T1T2T4
此做法简单于bz做法(我声称最简单的)。
区别在于Part2.第一空
对于一个栅栏 ,他能粉刷到的最高的方案是粉刷包含 且长度为 的连续区间中栅栏高度的最小值的最大值。
因为粉刷一个区间的最大高度是区间中栅栏高度的最小值,我们要让这个值最大,以让栅栏 的粉刷高度最大。
可以使用滑动窗口解决,复杂度 。
第二空
对于一个已经刷了,且高度为 的栅栏,我们可以把连续相同 的栅栏看成一组,若一组有 个栅栏,我么对他的粉刷次数就是 ,因为可以重复刷,所以向上取整是对的。
单独对于第二空贴出代码:
clr是colorans2是第二空的答案int cnt=1; for(int i=2;i<=n+1;i++){ if(clr[i]!=0&&clr[i]==clr[i-1]) cnt++; else ans2+=cnt/x+(cnt%x==0?0:1),cnt=1; }
信息
- ID
- 2819
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 19
- 已通过
- 8
- 上传者