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號。寶可夢圖鑑是一種能記錄遇到的寶可夢的神奇工具,可是它還沒有完全開發完成。現在請你幫忙寫乙個程式,完善圖鑑的記錄功能。記錄功能需要完成這樣的要求 如果遇到的寶可夢在圖鑑中沒有記錄,則將該寶可夢...