BZOJ3262 陌上花開

2021-09-23 18:52:20 字數 911 閱讀 7616

題意:n朵花,每朵花有3個屬性a,b,c,一朵花比另一朵花美麗當且僅當3個屬性都大於等於另一朵,一朵花比x朵花美麗則稱其等級為x,求出每個等級的花的數量。

思路:三維偏序問題,cdq分治模板

這個講解不錯。

#include

using

namespace std;

#define lowbit(x) (x&(-x))

#define maxn 200000+100

int n,k,c[maxn]

,cnt,ans[maxn]

;struct element

}e[maxn]

,t[maxn]

;int

sum(

int x)

return ret;

}void

add(

int x,

int d)

}void

cdq(

int l,

int r)

for(x=l;x<=mid;x++

)add

(e[x]

.c,-e[x]

.w);

for(x=l;x<=r;x++

)e[x]

=t[x];}

intmain()

cdq(

1,cnt)

;for

(int i=

1;i<=cnt;i++

)ans[e[i]

.f+e[i]

.w-1]+

=e[i]

.w;for

(int i=

0;i)printf

("%d\n"

,ans[i]);

return0;

}

BZOJ3262 陌上花開

description 有n朵花,每朵花有三個屬性 花形 s 顏色 c 氣味 m 又三個整數表示。現要對每朵花評級,一朵花的級別是它擁有的美麗能超過的花的數量。定義一朵花a比另一朵花b要美麗,當且僅當sa sb,ca cb,ma mb。顯然,兩朵花可能有同樣的屬性。需要統計出評出每個等級的花的數量。...

BZOJ3262 陌上花開

description 有n朵花,每朵花有三個屬性 花形 s 顏色 c 氣味 m 又三個整數表示。現要對每朵花評級,一朵花的級別是它擁有的美麗能超過的花的數量。定義一朵花a比另一朵花b要美麗,當且僅當sa sb,ca cb,ma mb。顯然,兩朵花可能有同樣的屬性。需要統計出評出每個等級的花的數量。...

BZOJ 3262 陌上花開

話說這是一道許可權題,如果我複製過來,bzoj不會打死我吧?hhh 大意就是給三維空間中的很多點,乙個點p x,y,z 的級別定義為x0 x y0 y z0 z的任意點p0 x0,y0,z0 的數量,求每種級別的點各有多少種。看過一道二維的這樣的題目,當時想的是直接排序然後用bit 樹狀陣列 秒掉,...