最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

??透傎愵}目講解_Different Integers

2022-04-22 10:20 作者:Clayton_Zhou  | 我要投稿

//?

//? https://ac.nowcoder.com/acm/contest/20322/J

#include <algorithm>

#include <iostream>

#include <cstring>

?using namespace std;

const int N = 1E5 + 100;

int n, m, block;

int arr[N]={ 0,1, 2, 3,4, 1,2,3 };


/*? 莫隊(duì)算法 (Mo's Algorithm)

*/

int res[N];

?int cnt[N];

struct Mo {

? ? int L, r, idx, lb;??

? ? ?bool operator < (const Mo &rhs) const {

? ? ? ? if (lb == rhs.lb) {

? ? ? ? ? ? return r < rhs.r;

? ? ? ? }

? ? ? ? return lb < rhs.lb;

? ? }

};

Mo qry[N];


int Q[N][2]={

1, 3,

3, 6,

2 ,3,

2 ,4,

1 ,3,

1 ,7,

3,5

};



?int sum=0;

void Insert(int x)

{

? ? cnt[x]++;//個(gè)數(shù)記錄

? ? if(cnt[x]==1) sum++;//如果滿足條件,就更新答案

}

void Remove(int x)

{

? ? cnt[x]--;

? ? if(cnt[x]==0) sum--;

}

int main() {

? ? ? n=7;m=7;

memset(cnt,0,sizeof cnt);

? ? /*

cin >> n>> m;


? ? for (int i = 1; i <= n; i++) {

? ? ? ? cin >> arr[i];

? ? }

? ? ?

? ? for (int i = 1; i <= m; i++) {

? ? ? ? cin >> qry[i].L?>> qry[i].r;

? ? ? ? qry[i].idx?= i;

? ? }*/


block = sqrt(n); ?

cout<<block<<endl;

for (int i = 1; i <= m; i++) {

? ? ? ? ?qry[i].L =Q[i-1][0]; qry[i].r=Q[i-1][1];

? ? ? ? qry[i].idx = i;

qry[i].lb= qry[i].L/block;

}

? ?

? ?sort(qry + 1, qry + 1 + m);

for (int i = 1; i <= m; i++) cout<<qry[i].idx<<"? ?";

cout<<endl;


? ? int left=0,r=n+1;

? ? for (int i = 1; i <= m; i++) {? ? ? ??

while(left<qry[i].L) Insert(arr[++left]);

cout <<" sum="<<sum<<" i="<<i<<" left="<<left<<" r="<<r<<endl;? ? ? ? ?

while(left>qry[i].L) Remove(arr[left--]);

? ? ? ? ? ?cout <<" sum="<<sum<<" i="<<i<<" left="<<left<<" r="<<r<<endl;

? ? ? ? ? ? while(r<qry[i].r) Remove(arr[r++]);

? ? ? ? ? ?cout <<" sum="<<sum<<" i="<<i<<" left="<<left<<" r="<<r<<endl;

? ? ? ? ? ? while(r>qry[i].r) Insert(arr[--r]);

cout <<" sum="<<sum<<" i="<<i<<" left="<<left<<" r="<<r<<endl<<endl;

? ? ? ? ? ? res[qry[i].idx]=sum;//記錄答案

? ? }

? ? for (int i = 1; i <= m; i++) {

? ? ? ? cout << res[i] << endl;

? ? }

? ? return 0;

}


??透傎愵}目講解_Different Integers的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
中方县| 和静县| 阿拉善右旗| 科尔| 静海县| 洪泽县| 独山县| 扎兰屯市| 阳谷县| 项城市| 杭州市| 辉南县| 莒南县| 海林市| 迭部县| 宁陵县| 山西省| 根河市| 丰顺县| 乌兰察布市| 霍邱县| 白银市| 仙桃市| 平顺县| 邯郸县| 申扎县| 肇东市| 宣威市| 汨罗市| 拜城县| 昆山市| 郧西县| 临泽县| 汉阴县| 运城市| 盐边县| 城固县| 台南市| 沙河市| 江门市| 成都市|