日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Bzoj 2724: [Violet 6]蒲公英(分块)

發(fā)布時間:2023/12/18 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Bzoj 2724: [Violet 6]蒲公英(分块) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2724: [Violet 6]蒲公英
Time Limit: 40 Sec Memory Limit: 512 MB
Description

Input

修正一下
l = (l_0 + x - 1) mod n + 1, r = (r_0 + x - 1) mod n + 1
Output

Sample Input
6 3
1 2 3 2 1 2
1 5
3 6
1 5
Sample Output
1
2
1
HINT
修正下:
n <= 40000, m <= 50000
Source
Vani原創(chuàng)

/* 分塊. 把數(shù)據(jù)分為√n塊. 答案無非有兩種: 1是查詢區(qū)間中某一塊的區(qū)間眾數(shù). 2是剩余的不足一塊的數(shù). 我們先對一個區(qū)間的所有塊暴力掃. 令f[i][j]表示第i塊到第j塊的眾數(shù). 這樣枚舉是n√n的. (貌似發(fā)現(xiàn)了新大陸 GCD,max啥的都可以這樣搞? 然后一開始是沒想明白的(由于本人比較弱 但是考慮一下確實是這樣的. 用反證法可以證明. */ #include<iostream> #include<cstdio> #include<vector> #include<cstring> #include<algorithm> #include<map> #define MAXN 50001 using namespace std; int n,m=200,q,lastans,belong[MAXN],a[MAXN],tot,id[MAXN],f[510][510],cnt[MAXN]; vector<int>g[MAXN]; map<int,int>ma; int read() {int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9') x=x*10+ch-48,ch=getchar();return x*f; } void slove(int x) {memset(cnt,0,sizeof cnt);int max1=0,ans=0;for(int i=(x-1)*m+1;i<=n;i++){cnt[a[i]]++;if(cnt[a[i]]>max1||(cnt[a[i]]==max1&&id[a[i]]<id[ans]))max1=cnt[a[i]],ans=a[i];f[x][belong[i]]=ans;}return ; } int query(int x,int y,int k) {return upper_bound(g[k].begin(),g[k].end(),y)-lower_bound(g[k].begin(),g[k].end(),x); } int slovequery(int x,int y) {int ans=f[belong[x]+1][belong[y]-1];int max1=query(x,y,ans);for(int i=x;i<=min(y,belong[x]*m);i++){int t=query(x,y,a[i]);if(t>max1||(t==max1&&id[a[i]]<id[ans]))max1=t,ans=a[i];}if(belong[x]!=belong[y]){for(int i=(belong[y]-1)*m+1;i<=y;i++){int t=query(x,y,a[i]);if(t>max1||(t==max1&&id[a[i]]<id[ans]))max1=t,ans=a[i];}}return ans; } int main() {int x,y;n=read(),q=read();for(int i=1;i<=n;i++){a[i]=read();if(!ma[a[i]]) ma[a[i]]=++tot,id[tot]=a[i];a[i]=ma[a[i]];g[a[i]].push_back(i);}for(int i=1;i<=n;i++) belong[i]=(i-1)/m+1;for(int i=1;i<=belong[n];i++) slove(i);//起點.while(q--){x=read(),y=read();x=(x+lastans-1)%n+1,y=(y+lastans-1)%n+1;if(x>y) swap(x,y);lastans=id[slovequery(x,y)];printf("%d\n",lastans);}return 0; }

轉(zhuǎn)載于:https://www.cnblogs.com/nancheng58/p/10068059.html

總結(jié)

以上是生活随笔為你收集整理的Bzoj 2724: [Violet 6]蒲公英(分块)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 手机av免费在线 | 91成人网页 | av网站大全在线 | 国产又黄又大又粗视频 | av无码精品一区二区三区宅噜噜 | 乐播av一区二区三区 | 色桃av| 欧美日韩在线a | 蜜桃导航-精品导航 | 欧美爱爱网站 | www国产精品内射老熟女 | 久久视频精品在线 | 黄视频在线 | 好屌妞视频这里有精品 | 在线国产精品视频 | 天天综合网久久综合网 | 青青草自拍视频 | 亚洲色图第1页 | 成人免费福利 | 亚洲最大视频网 | 欧美综合国产 | 色婷婷av一区二区三区四区 | 国产精品av在线 | 色综合影视| a在线观看免费 | 99精品国产99久久久久久97 | 午夜黄色大片 | 精品无码久久久久久久久久 | 国产亚洲av在线 | 九九自拍视频 | 精品人妻午夜一区二区三区四区 | 久热精品免费视频 | 在线日韩精品视频 | 国产精品一区二区三区在线看 | 欧美激情自拍 | 日韩免费视频 | 朝桐光av在线一区二区三区 | www.在线观看视频 | 亚洲午夜18毛片在线看 | 亚洲视频区| 日本丰满大乳奶做爰 | 欧美性大战久久久久久 | 国产美女久久 | 欧美四级在线观看 | 成人国产精品 | www.久久久久久久久 | 亚洲一区二区免费在线观看 | 精品免费囯产一区二区三区 | 一个人在线免费观看www | 国产一级黄色录像 | 四虎免费影视 | 日日夜夜免费精品 | 人成亚洲 | 日韩永久免费视频 | 国产综合久久久久久鬼色 | 久久人人爽 | 99久久精品免费看国产免费软件 | 丁香六月五月婷婷 | 亚洲三级久久 | 亚欧洲精品视频 | 日本三级一区二区 | 国产 中文 字幕 日韩 在线 | 我要色综合网 | 久久av无码精品人妻系列试探 | 日本在线观看一区二区 | 国产精品老熟女视频一区二区 | 男女无遮挡做爰猛烈视频 | 肉视频在线观看 | jjzz日本女人 | 国产精品自拍亚洲 | av全黄| 亚洲系列中文字幕 | av在线小说 | 国产日韩欧美二区 | 无码人妻丰满熟妇区五十路百度 | 亚洲天堂中文在线 | 欧美黑人精品一区二区 | 五月婷婷视频在线观看 | 久草福利在线视频 | 99热影院 | 亚州激情 | 亚洲福利电影 | 国产精品资源 | 亚洲无吗在线观看 | 中文字幕欧美一区 | 天堂网av2018 | 美女裸体网站久久久 | 日韩亚洲欧美在线 | 日韩三级网 | 久久精品99国产 | 欧美色图自拍 | 黄色无遮挡 | 成人性生交大片免费看中文 | 欧美激情欧美激情在线五月 | 激情四射综合网 | 桃色网站在线观看 | 亚洲国产精品18久久久久久 | 成人黄网免费观看视频 | 久久久久久国产精品三区 |