BZOJ3809 Gty的二逼妹子序列

2022-05-03 23:15:13 字數 2134 閱讀 9985

autumn和bakser又在研究gty的妹子序列了!但他們遇到了乙個難題。

對於一段妹子們,他們想讓你幫忙求出這之內美麗度∈[a,b]的妹子的美麗度的種類數。

為了方便,我們規定妹子們的美麗度全都在[1,n]中。

給定乙個長度為n(1<=n<=100000)的正整數序列s(1<=si<=n),對於m(1<=m<=1000000)次詢問「l,r,a,b」,每次輸出sl...sr中,權值∈[a,b]的權值的種類數。

第一行包括兩個整數n,m(1<=n<=100000,1<=m<=1000000),表示數列s中的元素數和詢問數。

第二行包括n個整數s1...sn(1<=si<=n)。

接下來m行,每行包括4個整數l,r,a,b(1<=l<=r<=n,1<=a<=b<=n),意義見題目描述。

保證涉及的所有數在c++的int內。

保證輸入合法。

對每個詢問,單獨輸出一行,表示sl...sr中權值∈[a,b]的權值的種類數。

10 10

4 4 5 1 4 1 5 1 2 1

5 9 1 2

3 4 7 9

4 4 2 5

2 3 4 7

5 10 4 4

3 9 1 1

1 4 5 9

8 9 3 3

2 2 1 6

8 9 1 420

0211

1012

樣例的部分解釋:

5 9 1 2

子串行為4 1 5 1 2

在[1,2]裡的權值有1,1,2,有2種,因此答案為2。

3 4 7 9

子串行為5 1

在[7,9]裡的權值有5,有1種,因此答案為1。

4 4 2 5

子串行為1

沒有權值在[2,5]中的,因此答案為0。

2 3 4 7

子串行為4 5

權值在[4,7]中的有4,5,因此答案為2。

建議使用輸入/輸出優化。

同ahoi2013作業。

#include#include

#include

#include

#include

#include

#define rep(i,s,t) for(int i=s;i<=t;i++)

#define dwn(i,s,t) for(int i=s;i>=t;i--)

#define ren for(int i=first[x];i;i=next[i])

using

namespace

std;

const

int buffersize=1

<<16

;char buffer[buffersize],*head,*tail;

inline

char

getchar()

return *head++;

}inline

intread()

const

int maxn=100010

;const

int maxm=1000010

;int

n,m,a[maxn],blo[maxn],st[maxn],en[maxn];

struct

query

}q[maxm];

intans[maxm],cnt[maxn],bloans[maxn];

void add(int

x) void del(int

x) int query(int l,int

r)

return

res;

}int

main()

rep(i,

1,m) q[i].l=read(),q[i].r=read(),q[i].a=read(),q[i].b=read(),q[i].id=i;

sort(q+1,q+m+1

);

int l=1,r=0

; rep(i,

1,m)

rep(i,

1,m) printf("

%d\n

",ans[i]);

return0;

}

view code

BZOJ3809 Gty的二逼妹子序列

空間這麼小 然後就莫隊了 不知道三維kd tree能不能過 本來想打bit,結果發現過不了的樣子,因為修改比較多,詢問比較少,所以可以考慮平衡複雜度,用分塊維護 單次修改o 1 詢問o n code include include include include include include in...

bzoj3809 Gty的二逼妹子序列

先說一種很顯然的做法,大體框架肯定是莫隊,然後每來一種顏色就處理下,如果是新出現的就在bit當中把這個位置 1,如果這種顏色消失了就在bit中對應位置 1。這樣的時間複雜度是o nn log 2n 我交了一次發現超時了。那怎麼辦?觀察下,我們查詢和修改的複雜度都是o logn 但是顯然查詢的次數要遠...

bzoj 3809 Gty的二逼妹子序列

autumn和bakser又在研究gty的妹子序列了!但他們遇到了乙個難題。對於一段妹子們,他們想讓你幫忙求出這之內美麗度 a,b 的妹子的美麗度的種類數。為了方便,我們規定妹子們的美麗度全都在 1,n 中。給定乙個長度為n 1 n 100000 的正整數序列s 1 si n 對於m 1 m 100...