码迷,mamicode.com
首页 > 其他好文 > 详细

【模板(们)】noip前热身练习

时间:2017-11-06 22:53:14      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:one   struct   sed   技术分享   play   amp   col   mat   str   

分块+莫队

技术分享
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
/*分块*/
#include<cmath>
const int N=10;
int pos[N],n,blk;
void fenkuai(){
    scanf("%d",&n);
    blk=(int)(double(n));
    for(int i=1;i<=n;i++) pos[i]=(i-1)/blk+1;
} 
/*莫队*/
int ans=0;
struct qujian{
    int le,ri,ans;
}q[N];
bool cmp(const qujian &a,const qujian &b){
    return pos[a.le]<pos[b.le]||(pos[a.le]==pos[b.le]&&a.ri<b.ri);
}
void update(int pos,int val){
}
void modui(){
    scanf("%d",&n);
    fenkuai();
    for(int i=1;i<=n;i++) scanf("%d%d",&q[i].le,&q[i].ri);
    sort(q+1,q+n+1,cmp);
    int le,ri;
    le=ri=0;
    for(int i=1;i<=n;i++){
        while(ri>q[i].ri){
            update(ri,-1);
            ri--;
        }
        while(ri<q[i].ri){
            update(ri+1,1);
            ri++;
        }
        while(le<q[i].le){
            update(le,-1);
            le++;
        }
        while(le>q[i].le){
            update(le-1,1);
            le--;
        }
        q[i].ans=ans;
    }
    /*...*/
}
分块+莫队

 

【模板(们)】noip前热身练习

标签:one   struct   sed   技术分享   play   amp   col   mat   str   

原文地址:http://www.cnblogs.com/LinnBlanc/p/7795268.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!