皮卡丘的夢想2
time limit: 1000ms memory limit: 65536kb
submit statistic discuss
problem description
一天,乙隻住在 501 實驗室的皮卡丘決定發奮學習,成為像 leiq 一樣的巨巨,於是他向鎮上的賢者金桔請教如何才能進化成乙隻雷丘。
金桔告訴他需要進化石才能進化,並給了他乙個地圖,地圖上有 n 個小鎮,他需要從這些小鎮中收集進化石。
接下來他會進行 q 次操作,可能是打聽進化石的資訊,也可能是向你詢問第 l 個小鎮到第 r 個小鎮之間的進化石種類。
如果是打聽資訊,則皮卡丘會得到乙個小鎮的進化石變化資訊,可能是引入了新的進化石,也可能是失去了全部的某種進化石。
如果是向你詢問,你需要回答他第 l 個小鎮到第 r 個小鎮之間的進化石種類。
input
首先輸入乙個整數 t (1 <= t <= 10),代表有 t 組資料。
每組資料的第一行輸入乙個整數 n (1 <= n <= 100000) 和乙個整數 q (1 <= q <= 100000),分別代表有 n 個小鎮,表皮卡丘有 q 次操作。
接下來輸入 q 行,對於每次操作,先輸入操作型別,然後根據操作型別讀入:
1: 緊接著輸入 2 個整數 a (1 <= a <= n), b (1 <= b <= 60),表示第 a 個小鎮引入了第 b 種進化石
2: 緊接著輸入 2 個整數 a (1 <= a <= n), b (1 <= b <= 60),表示第 a 個小鎮失去了全部第 b 種進化石
3: 緊接著輸入 2 個整數 l, r (1 <= l <= r <= n),表示他想詢問從第 l 個到第 r 個小鎮上可收集的進化石有哪幾種
output
對於每組輸入,首先輸出一行 「case t:」,表示當前是第幾組資料。
對於每組資料中的每次 3 操作,在一行中按編號公升序輸出所有可收集的進化石。如果沒有進化石可收集,則輸出乙個 meik 的百分號 「%」(不包括引號)。
example input
1 10 10
3 1 10
1 1 50
3 1 5
1 2 20
3 1 1
3 1 2
2 1 50
2 2 20
3 1 2
3 1 10
example output
case 1:
% 50
50 20 50
% %
hint
#include
#include
#include
#include
using
namespace
std;
struct node
tree[400000];
void bulid(int root,int left,int right)
int mid = (left+right)>>1;
bulid((root<<1)+1,left,mid);
bulid((root<<1)+2,mid+1,right);
tree[root].val = tree[(root<<1)+1].val +tree[(root<<1)+2].val;
}void updata1(int root,int left,int right,int pos,unsigned
long
long val)
int mid = (left + right)>>1;
int lc = (root<<1)+1;
int rc = (root<<1)+2;
if(pos<=mid)
updata1(lc,left,mid,pos,val);
else
updata1(rc,mid+1,right,pos,val);
tree[root].val = tree[lc].val | tree[rc].val;
}void updata2(int root,int left,int right,int pos,unsigned
long
long val)
int mid = (left + right)>>1;
int lc = (root<<1)+1;
int rc = (root<<1)+2;
if(pos<=mid)
updata2(lc,left,mid,pos,val);
else
updata2(rc,mid+1,right,pos,val);
tree[root].val = tree[lc].val | tree[rc].val;
}unsigned
long
long query(int root,int left,int right,int qleft,int qright)
int main()
else
if(x==2)
else
if(x==3)
else
printf(" %d",k);}}
printf("\n");
}else}}
}}
皮卡丘的夢想
problem description 一天,乙隻住在 501 的皮卡丘決定發奮學習,成為像 leiq 一樣的巨巨,於是他向鎮上的賢者金桔請教如何才能進化成乙隻雷丘。金桔告訴他需要進化石才能進化,並給了他乙個地圖,地圖上有 n 個小鎮,並且標註了每個小鎮上可收集的進化石。但是皮卡丘拿到地圖就矇圈了,...
sdutoj 皮卡丘的夢想2 狀態壓縮 線段樹
題目鏈結 思路 我開了60個樹狀陣列水過去了.但是資料在大點就不行了 正解應該是線段樹 狀態壓縮吧,將60個寶石每一種壓縮成乙個二進位制位.這樣向上回溯的時候記錄兩個子樹或就行了.includeusing namespace std define lson l,m,node 1 define rso...
css畫皮卡丘
不知道有沒有機會做你的皮卡丘,舉高高,要抱抱 這才是猛男該看的東西 doge gitee 預覽 搜尋 pikachu 1 border radius 可以實現彎曲的鬍鬚,並且使用偽元素覆蓋顏色。在畫皮卡丘的過程中,最難的應該就是彎曲的鬍鬚的那一部分了。mouth up lip.left mouth ...