皮卡丘的夢想

2021-09-11 07:28:03 字數 1907 閱讀 2247

problem description

一天,乙隻住在 501 的皮卡丘決定發奮學習,成為像 leiq 一樣的巨巨,於是他向鎮上的賢者金桔請教如何才能進化成乙隻雷丘。
金桔告訴他需要進化石才能進化,並給了他乙個地圖,地圖上有 n 個小鎮,並且標註了每個小鎮上可收集的進化石。

但是皮卡丘拿到地圖就矇圈了,他可不知道自己到底需要哪種進化石,而且由於經費有限,他只能去某幾個相鄰的小鎮,所以他機智地找到了善於程式設計的你,詢問你這些鎮上可收集的進化石有哪些,然後再自己決定行程。

input

首先輸入乙個整數 t (1 <= t <= 10),代表有 t 組資料。

每組資料的第一行輸入乙個整數 n (1 <= n <= 100000),代表有 n 個小鎮。

接下來的 n 行表示第 1 個到第 n 個的小鎮的資訊。每行先輸入乙個整數 m (0 <= m <= 30),代表這個小鎮上進化石的種類數,緊接著輸入 m 個整數,代表進化石的種類編號(編號從 1 開始,不超過 30)。

之後的一行輸入乙個整數 q (1 <= q <= 25000),代表皮卡丘有 q 次詢問。

接下來的 q 行每行輸入兩個整數 l, r (1 <= l <= r <= n),表示他想詢問從第 l 個到第 r 個小鎮上可收集的進化石有哪幾種。

output

對於每組輸入,首先輸出一行 "case t:",表示當前是第幾組資料。

接下來對於每一次詢問,按編號公升序輸出所有可收集的進化石。如果沒有進化石可收集,則輸出乙個小豪的百分號 「%」(不要問我為什麼,出題就是這麼任性)。

sample input

1

3

2 3 10

3 1 2 403

1 22 3

3 3

sample output

case 1:

1 2 3 4 10

1 2 4

%

hint
#include #include using namespace std;

const int max = 100001;

int st[max<<2];

void initialize();

void update(int node, int l, int r, int index, int value);

int query(int node, int l, int r, int il, int ir);

int main(int argc, char const *ar**)

update(1, 1, n, j, binary);

}scanf("%d", &q);

while(q--)

else

printf("%d", digit);

}//判斷完一位,右移刪掉最後一位

res >>= 1;

digit++;

}if(digit == 1)

printf("\n");}}

return 0;

}void initialize()

void update(int node, int l, int r, int index, int value)

if(index <= mid)

else

//更新為左右子結點的合併狀態

st[node] = st[node<<1] | st[node<<1|1];

}int query(int node, int l, int r, int il, int ir)

if(ir <= mid)

else if(il > mid)

else

}

皮卡丘的夢想2

皮卡丘的夢想2 time limit 1000ms memory limit 65536kb submit statistic discuss problem description 一天,乙隻住在 501 實驗室的皮卡丘決定發奮學習,成為像 leiq 一樣的巨巨,於是他向鎮上的賢者金桔請教如何才能...

css畫皮卡丘

不知道有沒有機會做你的皮卡丘,舉高高,要抱抱 這才是猛男該看的東西 doge gitee 預覽 搜尋 pikachu 1 border radius 可以實現彎曲的鬍鬚,並且使用偽元素覆蓋顏色。在畫皮卡丘的過程中,最難的應該就是彎曲的鬍鬚的那一部分了。mouth up lip.left mouth ...

皮卡丘的編號是?

精靈寶可夢有成百上千種,皮卡丘只是其中之一哦。這麼多種寶可夢當然需要用編號來記錄下來,皮卡丘的編號就是25號。寶可夢圖鑑是一種能記錄遇到的寶可夢的神奇工具,可是它還沒有完全開發完成。現在請你幫忙寫乙個程式,完善圖鑑的記錄功能。記錄功能需要完成這樣的要求 如果遇到的寶可夢在圖鑑中沒有記錄,則將該寶可夢...