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

2022-05-17 09:04:12 字數 1098 閱讀 2219

時間限制: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   查詢區間[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

324

3首先想到的就是線段樹,開了乙個長度為60的bool陣列,結果爆了記憶體,原來記憶體是如此的可貴啊!開小一點就會段錯誤,真是妙啊!

回憶一下,如果沒有線段數,我們該如何暴力解決這個題目,我們應該把每乙個點擁有的氣球記錄下來,詢問的時候再乙個乙個去查詢,

這樣的話時間複雜度就會是n*m*60,肯定會超時.然而,這題用暴

力並非不能解,解決的辦法

就是,通過記錄下每一次插入的邊界,通過

邊界查詢就是了,下面來貼**:

#include#include

using

namespace

std;

struct

node

a[80

];int

main()

for(int y=1;y<=m;y++)

else}}

cout}}

}}

和牛客網字元最少的那個**是一樣的,我也是看了他的**才發現原來可以這麼玩

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

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

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

今晚6點跟隊友去打這個比賽,因為第二天有考試,所以沒有打到結束,打了兩個小時就匆匆回宿舍複習了。題目感覺有難的,有簽到題,直接說題吧 時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 某個實驗需要統計時間,記錄了實驗開...

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

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 緊急事件!戰場內被敵軍埋放了n枚炸彈!我軍情報部門通過技術手段,掌握了這些炸彈的資訊。這些炸彈很特殊,每枚炸彈的波及區域是乙個矩形。第i枚炸彈的波及區域是以點 x i1...