JZOJ A組 聽我說,海蝸牛

2021-08-28 07:50:55 字數 1131 閱讀 9973

思路正解就是爆搜!我比賽忘記判反向邊了

首先,想存下所有邊是不可能的,所以只能存被刪去的邊。

然後bfs時,用二分判斷這條邊是否相連。

但是,我們發現每搜乙個點,就要詢問所有點是否相連或是否已去過,是o(ki^2)複雜度,只要資料極限就炸了!所以要用巧妙的方法來存沒到達的點。

我是開兩個佇列,每搜到乙個點遍歷一遍佇列q,如果那兩點之間的邊被刪了,就加入佇列q。結束時再把佇列q裡面的元素加入佇列q。

**

#include#include#include#include#include#includeusing namespace std;

const int maxn=3e5+77;

struct e

e[maxn];

int b[maxn],b1[maxn],n,m,t,cnt=0;

vectora[maxn];

queueq;

bool cmp(e x,e y)

while(!q.empty())

}}int main()

sort(e+1,e+cnt+1,cmp);

for(int i=1; i<=cnt; i++) a[e[i].x].push_back(e[i].y);

while(t--)

while(!q.empty())

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

}}

JZOJ A組 量子糾纏

第一行包含乙個正整數 m,代表運算元。接下來 m 行,每行可能有以下形式 1 s 代表將數字串 s 加入資訊集中 2 s 代表詢問數字串 s 是否在資訊集中 3 a b 代表使數字串 a 和 b 互相糾纏 對於每乙個 2 操作,如果詢問串不在集合中,請輸出一行乙個整數 0,否則輸出一行乙個整 數 1...

JZOJ A組 跳樓機

djl為了避免成為乙隻鹹魚,來找srwudi學習壓 的技巧。srwudi的家是一幢h層的摩天大樓。由於前來學習的蒟蒻越來越多,srwudi改造了乙個跳樓機,使得訪客可以更方便的上樓。經過改造,srwudi的跳樓機可以採用以下四種方式移動 1 向上移動x層 2 向上移動y層 3 向上移動z層 4 回到...

JZOJ A組 傳送門

8102年,normalgod在glados的幫助下,研製出了傳送槍。但glados想把傳送槍據為己有,於是把normalgod扔進了一間實驗室。這間實驗室是一棵有n個節點的樹。現在normalgod在一號節點,出口也在一號節點,但為了開啟它,必須經過每乙個節點按下每個節點的開關,出口才能開啟。gl...