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

歡迎光臨散文網 會員登陸 & 注冊

The 2022 ICPC Asia Kunming Regional Programming Contest_Easy Str

2022-04-22 08:39 作者:Clayton_Zhou  | 我要投稿

//?

// https://ac.nowcoder.com/acm/contest/32708/E


#include "stdafx.h"

?

#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

};


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

For query 4.4,? repeat=3

123.....

....123

1...23

12....3

For query 3.3.??repeat=2

12....3

1...23

....123

*/

long long res[N];

pair<int, int> cnt[N];

struct Mo {

? ? int L, r, idx;

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

? ? ? ? if (L / block == rhs.L? / block) {

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

? ? ? ? }

? ? ? ? return L? / block < rhs.L? / block;

? ? }

};

Mo qry[N];


int Q[N][2]={

1, 1,

3, 3,

2 ,3,

2 ,4,

1 ,3,

1 ,4,

4,4

};


int main() {

? ? ? n=7;m=7;

? ? /*

cin >> n;


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

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

? ? }*

? ? cin >> m;

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

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

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

? ? }*/


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;

}

? ? block = sqrt(n); ?

cout<<block<<endl;

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

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

cout<<endl;


? ? int left = 1, r = n;

??

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

? ? ? ? cout<<cnt[arr[i]].first<<",? sec="<<cnt[arr[i]].second <<endl;

? ? }

? ? int? repeat = 0;

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

? ? ? ? while (left < qry[i].L ) {

? ? ? ? ? ? repeat += cnt[arr[left]].second;

? ? ? ? ? ? cnt[arr[left++]].first += 1;

? ? ? ? }

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

? ? ? ? while (left > qry[i].L ) {

? ? ? ? ? ? cnt[arr[--left]].first -= 1;

? ? ? ? ? ? repeat -= cnt[arr[left]].second;

? ? ? ? }

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

? ? ? ? while (r < qry[i].r) {

? ? ? ? ? ? cnt[arr[++r]].second -= 1;

? ? ? ? ? ? repeat -= cnt[arr[r]].first;

? ? ? ? }

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

? ? ? ? while (r > qry[i].r) {

? ? ? ? ? ? repeat += cnt[arr[r]].first;

? ? ? ? ? ? cnt[arr[r--]].second += 1;

? ? ? ? }

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

cout <<repeat<<" i="<<i<<" r="<<r<<" L="<<qry[i].L<<" qry[i].r="<<qry[i].r<<"? qry[i].idx= "<<qry[i].idx<<endl;

for (int ii = 1; ii <= n; ii++)?

{

cout<<cnt[arr[ii]].first<<",? sec="<<cnt[arr[ii]].second <<endl;

}

? ? ? ? res[qry[i].idx] = 1LL * qry[i].L? * (n - qry[i].r + 1) - repeat;

cout<<res[qry[i].idx]<<"=res[qry[i].idx]"<<endl;


? ? }

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

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

? ? }

? ? return 0;

}


The 2022 ICPC Asia Kunming Regional Programming Contest_Easy Str的評論 (共 條)

分享到微博請遵守國家法律
阿坝| 稷山县| 文登市| 巍山| 巫溪县| 鄂托克前旗| 禹州市| 博白县| 廊坊市| 上饶县| 五寨县| 阿瓦提县| 山阴县| 滦南县| 康平县| 五大连池市| 德钦县| 乐东| 浦县| 湖南省| 秭归县| 渝中区| 六枝特区| 白河县| 嘉义市| 滦南县| 连平县| 桓台县| 祁门县| 资兴市| 福清市| 灵宝市| 辉南县| 柏乡县| 大关县| 兰考县| 汪清县| 南汇区| 常熟市| 辉县市| 定州市|