博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #171 (Div. 2)
阅读量:4957 次
发布时间:2019-06-12

本文共 439 字,大约阅读时间需要 1 分钟。

傻逼题

Two-Pointer

做法就是标号,详见代码:

for (int i = 2; i <= n; i++) {    if (a[i] <= a[i - 1])        l[i] = l[i - 1];    else        l[i] = i;}for (int i = n - 1; i > 0; i--) {    if (a[i] <= a[i + 1])        r[i] = r[i + 1];    else        r[i] = i;}

然后判断r[left]是否大于l[right]就行了。

迷之数位dp?

我们可以通过2次操作对某一段0改造成连续的一串1,例如:000000->100000->011110,因此我们只需要统计有多少段连续的1即可,然后就乱搞就行了,注意一下边界情况什么的。

转载于:https://www.cnblogs.com/phonism/archive/2013/05/27/3102011.html

你可能感兴趣的文章