1. 程式人生 > >洛谷P4436 遊戲 [HNOI/AHOI2018]

洛谷P4436 遊戲 [HNOI/AHOI2018]

一個 get tps blank 16px http www noi hnoi

正解:

解題報告:

傳送門!

首先不難想到可以把麻油鎖的一段先直接縮成一個點,然後預處理每個點能到達的最左和最右節點,然後就能O(1)地查詢辣

所以難點在於預處理

可以想到,對於它給定的關於鎖的信息,如果y<x,那要從x到x+1必然是只能從左往右走的,所以如果x到x+1有鎖且y<x,那麽x能延展到的最右端一定就是x+1能延展到的最右端(反過來顯然是布星的昂,,,因為x+1要往左要有鑰匙,但是鑰匙又在左邊,顯然是布星的

所以對於y<x,就可以先拓展x+1的右邊,然後再拓展x的左邊,如果能到達y就直接把x的最右端=x+1的最右端

反之亦然

然後就可以連邊然後拓撲排序確定拓展順序,然後就over辣

回去寫TT

洛谷P4436 遊戲 [HNOI/AHOI2018]