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...