了解過莫隊的人應該都清楚,莫隊是乙個優化的暴力,可以在相對暴力比較優的時間中,求出一段序列內的某些性質(例:數字的種類)
那麼這道題就明顯是一道模板題了,在l,r(左右段點)移動的過程中,記錄數字的種類,若種類數等於r-l+1,那麼表明沒有重複。
#include #include#include
#include
#include
#define n int(1e5+2)
#define m int(1e5+2)
using
namespace
std;
struct
ahahask[n];
intanswer,n,q,a[n],cnt[n],ans[n],k;
bool cmp(ahah a,ahah b)
bool comp(ahah a,ahah b)
void remove(int pos)
void add(int pos)
intmain()
for(int i=1;i<=q;i++)ans[i]==1?printf("
yes\n
"):printf("
no\n");
}
莫隊 P3901 數列找不同
現有數列a 1,a 2,cdots,a na1 a2 an q 個詢問 l i,r i li ri a a cdots,a ali ali 1 ari 是否互不相同 輸入格式 第1 行,2 個整數n,qn,q 第2 行,n 個整數a a cdots,a ali ali 1 ari q 行,每行2 個...
Luogu P3901 數列找不同 (莫隊模版)
傳送門 這是乙個莫隊板子qwq 莫隊是一種離線暴力演算法,每次通過調整當前詢問和上次詢問的區間的不同的左右端點,並修改答案。可以看出,調整的越少跑得越快,所以每次先把詢問的左右端點排個序,按左端點分塊,塊相同的按右端點排序 玄學 如下 include include include include ...
P3901 數列找不同(簡單莫隊)
莫隊入門題目,區間不相同數查詢 應該用線段樹也能做,但是不知道該維護什麼。一篇很好的題解 莫隊演算法主要解決的問題 莫隊演算法是用來處理一類無修改的離線區間詢問問題。莫隊演算法的思想 1 分塊and排序,使相鄰的查詢區間盡量接近,curl和curr兩個指標移動的距離盡量少 2 桶排查找 1 incl...