省隊集訓Day1 睡覺困難症候群

2022-03-26 00:30:29 字數 1524 閱讀 9303

傳送門:

【題解】

按二進位制位分開,對於每一位,用「起床困難症候群」的方法貪心做。

寫棵lct,維護正反兩種權值,每個維護2種,代表全0的輸出和全1的輸出。

然後直接上lct即可。

權值的合併有點trick,可以參考**,需要壓位。

# include # include 

# include

# include

//# include

using

namespace

std;

typedef

long

long

ll;typedef

long

double

ld;typedef unsigned

long

long

ull;

const

int m = 1e5 + 10

;const

int mod = 1e9+7

;int

n, m, k;

struct

node

node (ull p0, ull p1) : p0(p0), p1(p1) {}

friend node

operator +(node a, node b)

};inline node deal(

intop, ull x)

struct

lct

inline

void pushrev(int

x) inline

void down(int

x) # undef ls

# undef rs

inline

bool isrt(int

x) inline

void rotate(int

x)

intst[m];

inline

void splay(int

x) rotate(x);}}

inline

int access(int

x)

return

t; }

inline

void makeroot(int

x)

inline

void link(int x, int

y) }t;

# define bit(x, i) (((x) >> (i)) & 1

) int

main()

for (int i=1, u, v; ii)

intop, x, y; ull z, tx, ty, ans, t;

while(m--)

}printf(

"%llu\n

", ans);

} else

}return0;

}

view code

Luogu3613 睡覺困難症候群

luogu題面 這道題是noi起床困難綜合症改編而來的 思路是一樣的 這道題我們考慮用lct維護,每個節點維護兩個值 乙個為中序遍歷這棵子樹的ans0,ans1 分別表示0和inf 二進位制下全為1 跑的答案 另乙個為中序遍歷的反向遍歷這棵子樹的ans0,ans1 還要記得儲存這個點的初始操作 考慮...

luogu3613 睡覺困難症候群

題目背景 剛立完flag我就掛了wc和thuwc。時間限制0.5s,空間限制128mb 因為claris大佬幫助一周目由乃通過了deus的題,所以一周目的由乃前往二周目世界找雪輝去了 由於二周目世界被破壞殆盡,所以由乃和雪輝天天都忙著重建世界 其實和mc差不多吧 deus看到了題問她,總是被告知無可...

BZOJ4811 睡覺困難症候群

給你乙個有n個點的樹,每個點的包括乙個位運算opt和乙個權值x,位運算有 l,三種,分別用1,2,3表示。每次詢問包含三個數x,y,z,初始選定乙個數v。然後v依次經過從x到y的所有節點,每經過乙個點i,v就變成v optixi,所以他想問你,最後到y時,希望得到的值盡可能大,求最大值?給定的初始值...