BZOJ 2002 彈飛綿羊 分塊

2021-08-14 13:50:19 字數 637 閱讀 2588

傳送門ber~

不會寫lct-。-,分塊水過

記錄多少次能跳出自己的塊,和跳到的點是哪個

修改時更改本塊x之前的部分

統計時模擬一遍就可以了

lct題解可以看這個人

**如下:

#include

#include

#include

#define n 200050

using

namespace

std;

inline

int read()

int n,m,t,x,y,block_size,block_cnt;

int a[n],block[n],s[n],p[n];

inline

void solve(int x)

printf("%d\n",tmp);

}inline

void modify(int x,int k)

}int main()

block_cnt=block[n];

for(int i=n;i>=1;i--)

m=read();

while(m--)

}return

0;}

bzoj 2002 彈飛綿羊 分塊

某天,lostmonkey發明了一種超級彈力裝置,為了在他的綿羊朋友面前顯擺,他邀請小綿羊一起玩個遊戲。遊戲一開始,lostmonkey在地上沿著一條直線擺上n個裝置,每個裝置設定初始彈力係數ki,當綿羊達到第i個裝置時,它會往後彈ki步,達到第i ki個裝置,若不存在第i ki個裝置,則綿羊被彈飛...

bzoj2002 彈飛綿羊 分塊orLCT

先簡單講一下lct做法,每個點以它的到達點為父節點 沒有到達點就連向根 結果就是深度。然後修改就是改變父親,乙個cut再乙個link就好了。然後是分塊。每個點維護它到達它所在塊外面的點,及步數,預處理o n 查詢時o n m 修改時只需要修改x所在塊在x前面的那些點即可,時間o m 因此總時間複雜度...

bzoj2002 彈飛綿羊

lct裸題 給出一棵樹,有修改及詢問,修改操作為修改乙個節點的父親,詢問乙個節點到根的點數。詢問及修改前只需access一遍即可。include include include include include include define rep i,x,y for int i x i y i de...