关于暴力过蓝题的一些思路

· · 题解

蓝题真的很简单

这道题一看就是线段树裸题

但我弱啊,我不会线段树QAQ

所以先暴力骗一点分数

暴力明显是O(mn)的,所以按常理来说肯定过不了

但是我有万能的register加快读快写优化,开O2AC

具体过程没什么好说的,上代码吧

#include<bits/stdc++.h>
#define re register
using namespace std;
inline int read()
{
    char c=getchar();int x=0;bool f=0;
    while(c<'0'||c>'9') {if(c=='-') f=1;c=getchar();}
    while(c>='0'&&c<='9') {x=x*10+c-'0';c=getchar();}
    if(f) x=-x;
    return x; 
}//快读
inline void write(int x)
{
    if(x<0) putchar('-'),x=-x;
    if(x>=10) write(x/10);
    putchar(x%10+'0');
}//快写
bool a[100001];
int main()
{
    int n=read(),m=read();
    for(int re i=1;i<=m;i++)//register 优化
    {
        int x=read(),l=read(),r=read();
        if(x==0)
        {
            for(int re j=l;j<=r;j++)
            a[j]=!a[j];
        }
        else 
        {
            int num=0;
            for(int re j=l;j<=r;j++)
            if(a[j]) num++;
            write(num);puts("");
        }
    }
    return 0;
}

把j++和i++改++i和++j更快,顺带一提,机房里有个不开O2暴力过的大佬,%%%%%