BZOJ3223 Tyvj1729 文藝平衡樹

2021-07-28 07:58:15 字數 926 閱讀 6613

題目大意

一開始有個數列

,有q 次區間翻轉操作。

請輸出最後的序列。1≤

n,q≤

105一道寫出blog都不知道有什麼意義的splay大裸題。

splay在我還是pas黨的時候寫過,現在已經忘了個精光。

就當做是模板記錄,以及作為自己終於下定決心怒剛專題的紀念吧。

什麼你告訴我你不知道這題怎麼做?那我也沒辦法了。

乙份自認為寫得很好看的splay**。

#include 

#include

#include

#include

using

namespace

std;

int read()

int buf[30];

void write(int x)

const

int n=100050;

bool tag[n];

int n,q;

struct splay

void update(int x)

void rotate(int x)

void r(int x)

void clear(int x)

}void pushdown(int x,int y)

void splay(int x,int y)

void init()

int kth(int x,int y)

void split(int x,int y,int &l,int &r)

void merge(int x,int y,int &rt)

}void reverse(int l,int r)

void display(int x)

}t;int main()

bzoj3223 Tyvj 1729 文藝平衡樹

傳送門 description input 第一行為n,m n表示初始序列有n個數,這個序列依次是 1,2 n 1,n m表示翻轉操作次數 接下來m行每行兩個數 l,r 資料保證 1 l r n output 輸出一行n個數字,表示原始序列經過m次變換後的結果 sample input 5 31 3...

bzoj3223 Tyvj1729 文藝平衡樹

time limit 10 secmemory limit 128 mb submit 3014solved 1722 您需要寫一種資料結構 可參考題目標題 來維護乙個有序數列,其中需要提供以下操作 翻轉乙個區間,例如原有序序列是54321,翻轉區間是 2,4 的話,結果是52341 第一行為n,m...

bzoj3223 Tyvj 1729 文藝平衡樹

您需要寫一種資料結構 可參考題目標題 來維護乙個有序數列,其中需要提供以下操作 翻轉乙個區間,例如原有序序列是5 4 3 2 1,翻轉區間是 2,4 的話,結果是5 2 3 4 1 第一行為n,m n表示初始序列有n個數,這個序列依次是 1,2 n 1,n m表示翻轉操作次數 接下來m行每行兩個數 ...