2018 湘潭大學 H統計顏色

2021-08-19 15:00:33 字數 1341 閱讀 3188

題目描述

n個桶按順序排列,我們用1~n給桶標號。有兩種操作:

1 l r c 區間[l,r]中的每個桶中都放入乙個顏色為c的球 (1≤l,r ≤n,l≤r,0≤c≤60)

2 l r   查詢區間[l,r]的桶中有多少種不同顏色的球     (1≤l,r ≤n,l≤r)

輸入描述:

有多組資料,對於每組資料:

第一行有兩個整數n,m(1≤n,m≤100000)

接下來m行,代表m個操作,格式如題目所示。

輸出描述:

對於每個2號操作,輸出乙個整數,表示查詢的結果。

示例1輸入

10 10

1 1 2 0

1 3 4 1

2 1 4

1 5 6 2

2 1 6

1 7 8 1

2 3 8

1 8 10 3

2 1 10

2 3 8輸出2

3243

分析:線段樹的裸題,這道題主要用到了按位或運算(|),目的是為了統計不同的顏色個數。

**如下:

#include #include #include #include #include #include #include #include #include #include #include using namespace std;

const int maxn=1e5+10;

typedef long long ll;

struct node

}node[maxn*4];

void buildtree(ll i,ll l,ll r)

void push_down(ll i)

}void push_up(ll i)

void add(ll i,ll l,ll r,ll c)

push_down(i);

ll m=node[i].mid();

if(m>=r)

add(i<<1,l,r,c);

else if(m=r)

return qury(i<<1,l,r);

else if(l>m)

return qury(i<<1|1,l,r);

else

return qury(i<<1,l,m)|qury(i<<1|1,m+1,r);

}ll find1(ll x) ///統計顏色的個數

return sum;

}int main()

else

printf("%lld\n",find1(qury(1,l,r)));}}

return 0;

}

2023年湘潭大學程式設計競賽 H統計顏色

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld n個桶按順序排列,我們用1 n給桶標號。有兩種操作 1 l r c 區間 l,r 中的每個桶中都放入乙個顏色為c的球 1 l,r n,l r,0 c 60 2 l r ...

2018湘潭大學 F maze

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 題目描述 小明來到乙個由n x m個格仔組成的迷宮,有些格仔是陷阱,用 表示,小明進入陷阱就會死亡,表示沒有陷阱。小明所在的位置用 s 表示,目的地用 t 表示。小明只...

2023年湘潭大學程式設計競賽

a 時間統計 某個實驗需要統計時間,記錄了實驗開始和結束的時間,計算實驗用了多少秒。第一行輸入乙個整數n,表示樣例個數。接下來每組樣例兩行,表示開始時間和結束時間,格式為xdayhh mm ss,x是乙個整數表示第幾天,0 x 20000,hh表示小時,mm表示分鐘,ss表示秒,保證時間合法,結束時...