洛谷3203 彈飛綿羊(LCT)

2021-09-01 18:29:37 字數 1421 閱讀 9730

題目鏈結

據說這個題當年的正解是分塊qwq

根據題目所說,對於題目中的彈力係數,就相當於一條邊,那麼對於「跳出去」這個限制,我們可以選擇建造乙個新點n+1

n+1n+

1表示結束,那麼每次,求乙個點要多少次跳出去,只需要求n+1

n+1n+

1到xx

x的點數,然後減1就行

直接上**

// luogu-judger-enable-o2

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

inline

intread()

while

(isdigit

(ch)

)return x*f;

}const

int maxn =

1e6+

1e2;

int size[maxn]

;int fa[maxn]

;int ch[maxn][3

];int st[maxn]

;int n,m;

int rev[maxn]

;int a[maxn]

;int

son(

int x)

bool notroot

(int x)

void

update

(int x)

void

reverse

(int x)

void

pushdown

(int x)

}void

rotate

(int x)

void

splay

(int x)

rotate

(x);

}update

(x);

}void

access

(int x)

}void

makeroot

(int x)

intfindroot

(int x)

return x;

}void

split

(int x,

int y)

void

link

(int x,

int y)

void

cut(

int x,

int y)

intmain()

if(opt==2)

}return0;

}

洛谷 P3203 彈飛綿羊 分塊

題目鏈結 據說這道題要用一道叫做lct的資料結構,然而我不會。一排有n個彈簧裝置,從第 i i 個可一往後跳k i role presentation style position relative k i k i 步。分塊首先都要先從暴力開始想起 我們記錄從任意乙個點出發,下一次能跳到 這樣的話我...

洛谷P3203 彈飛綿羊 分塊

有n nn個裝置,每個裝置會把羊往後彈a i a i a i 要求支援一下操作 這道題不說是分塊基本就沒思路了。但是一知道是分塊就很好解了。我們分成n sqrt n n 個塊,每乙個彈射裝置維護兩個值 w i w i w i 彈出這個塊之後回到哪乙個彈射裝置。s i s i s i 要多少次才能彈出...

洛谷P3203 彈飛綿羊 分塊

有nn 個裝置,每個裝置會把羊往後彈a i a i 要求支援一下操作 這道題不說是分塊基本就沒思路了。但是一知道是分塊就很好解了。我們分成nn 個塊,每乙個彈射裝置維護兩個值 w i w i 彈出這個塊之後回到哪乙個彈射裝置。s i s i 要多少次才能彈出這個塊。那麼對於每乙個操作 如果是1 1操...