BZOJ5319 軍訓列隊(主席樹)

2021-08-20 09:22:41 字數 717 閱讀 2115

bzoj

洛谷一眼題既視感。。。

首先很明顯,每次詢問的結果顯然是做一次離散。

然後直接上主席樹就好了。。。

查詢答案的方式也很簡單

考慮一下那個絕對值是個什麼東西

如果所有的點都在目標區間以左

則直接區間和去算一下。

如果所有的點都在目標區間以右

好像和在左邊一樣的。

否則,把區間隔開計算就好了。

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define ln 1000000

#define max 555555

#define ll long long

inline

int read()

struct nodet[max<<5];

int rt[max],n,m,s[max],a[max],len,tot;

void modify(int &x,int ff,int l,int r,int p)

ll query(int a,int b,int l,int r,int l,int r)

int main()

}

習題 列隊(主席樹)

傳送門考慮如果有一群人直往右跑,那麼設 aim i 為最優策略下其的終止位置,設 p i 為他們現在的位置,按照題目給定的式子,消耗的體力值總和即為 sum aim i p i 因為對於所有的人都有 aim i p i 所以原式即為 sum aim i sum p i 也就是指他們的互相的位置其實對...

BZOJ4571 美味(主席樹)

一家餐廳有 n 道菜,編號 1 n 大家對第 i 道菜的評價值為 ai 1 i n 有 m 位顧客,第 i 位顧客的期 望值為 bi,而他的偏好值為 xi 因此,第 i 位顧客認為第 j 道菜的美味度為 bi xor aj xi xor 表示異或 運算。第 i 位顧客希望從這些菜中挑出他認為最美味的...

bzoj 1901 主席樹 樹狀陣列

修改 查詢第k小值 單純主席樹修改會打亂所有,所以再套乙個樹狀陣列維護字首和使得修改,查詢都是log 對了,bzoj上不需要讀入組數,蜜汁re。include include include include includeusing namespace std int n,m,sz,t,num to...