[模板] - 分块

#include <bits/stdc++.h>
using namespace std;

const int N = 100010;

int ma[N];
int bl[N];
int l[N];
int r[N];
int block;
int num;


void build()
{
    block = sqrt(n);
    num = n / block;
    if(n % block){
        num ++;
    }
    for(int i = 1; i <= num; i ++){
        l[i] = (i - 1) * block + 1;
        r[i] = i * block;
    }
    r[num] = n;
    for(int i = 1; i <= n; i ++){
        bl[i] = (i - 1) / block + 1;
    }
}

int main()
{
    while(scanf("%d%d", &n, &m) == 2){
        for(int i = 0; i < n; i ++){
            scanf("%d", &ma[i]);
        }
    }
}


猜你喜欢

转载自blog.csdn.net/yiranluoshen/article/details/78681984
今日推荐