laok 发布的文章

题意:有一群卷王坐成一排,第 $i$ 个人卷了 $a_i$ 题,每次所有人会往同一个方向看(往前或者往后),如果最近的人题数比自己多,就多卷一个题(如果这个人和你一样,但他卷了一题,那你也要卷一题),求 $m$ 次后 每个卷王的题数。

有$n$个数$a_1\dots a_n$,进行 $m$ 次操作,分两种:

for(int i=2;i<=n;++i)if(a[i-1]>a[i])++a[i];//1
for(int i=n-1;i;--i)if(a[i+1]>a[i])++a[i];//2

求操作结束后$a_1\dots a_n$的值。

$n,m\leq 3\times 10^5,6s$

- 阅读剩余部分 -