第六周訓練總結

2021-08-09 02:32:51 字數 2078 閱讀 4983

前四天看了一下國慶**的題目,只出了e題。

這個題目要求求區間最值,區間最值其實和區間求和差不多,就是將sum陣列的含義轉移到

max,然後通過特定的區間更新

max。

在區間求和中,當我們維護max[i]的時候,要找到它前面所有的

max[j]

來更新,畫圖可知,

max[i]

需要的max

只有max[i-2^0],max[i-2^1],max[i-2^2]..max[i-lowbit(i)+1]

。求區間最值時,很容易看出,我們找[l,r]的最值就是找在次區間的

max,即遞減

r,在這裡可以有個優化,即當找到乙個

max[i]

,有i-lowbit(i)>=l

時,更新後,i直接

-=lowbit(i)

,然後繼續遞減,當l>r就跳出迴圈。

a題:因為操作中只有詢問沒有更新,可以對所有問按右區間公升序排序。以該數字第一次在區間中出現的點代表所有的點。如果是第一次出現,那麼該數字在之前從未出現或上一次出現不再區間內。記錄每個位置i的數字的前乙個相同數字出現的位置

hash[i]

,沒有前乙個相同的

hash[i]為0

。然後從前到後掃瞄詢問,每次將上乙個同值點的值加

1,然後求當前區間的左界的字首和就是答案了。將當前位置下個位置的值減

1,這樣做可以保證任意乙個數字在任意一段區間中最多出現一次。但是一直都是超時...

後面幾天做了樹狀陣列和線段樹的專題。

樹狀陣列d題:

題意:共n個數,m次操作,q表示詢問n個數有多少順序數,r a,b表示區間[a,b]中的數轉動一下(a+1~b每個數向前移動,a位置的數到b位置).

思路:如果每詢問一次就求一次順序數很費時間,先求出最初的順序數ans,每轉動一次時如果a+1~b位置的數大於a位置的數,ans--,如果小於a,ans++,那麼就用到了數狀陣列求逆序數

。樹狀陣列f題:

題意:n*n*n的立方體,元素為0或1(初始為0)。1操作將(x1,y1,z1)到(x2,y2,z2)之間的元素取反;0操作是詢問(x,y,z)為0或1。

題解:三維樹狀陣列,原理跟一維,二維一樣。

樹狀陣列o題:

題意:

black x y l是指將第x行,y列到第x+l-1行,y+l-1列翻成黑色(初始化時為白色)

white x y l是指將第x行,y列到第x+l-1行,y+l-1列翻成白色(初始化時為白色)

test x y l是指求從第x行,y列到第x+l-1行,y+l-1列中白色的有幾個。

解題思路:

這個題目可以用樹狀陣列來做,更新乙個二維區間,查詢乙個二維區間兩個函式,其中更新區間。

還看了看線段樹中關於掃瞄線的知識,是之前看hdu 1828的問題了解的,本題求得是周長,所以將所有上下位邊按

y從小到大排序之後

:首先我們讀入第一條掃瞄線(下位邊

+1),

這條掃瞄線的長度直接加入

ans結果中.y

軸的),

所以這兩條豎向邊從第一條掃瞄線到第二條掃瞄線之間是會增漲的

,所以總周長

ans+=2*(

第二條掃瞄線的高

h2-第一條掃瞄線的高

h1).

然後我們讀入第二條掃瞄線(下位邊

+1):

由於我們更新完這條掃瞄線後,sum[1]覆蓋的範圍擴大了

5,所以

ans先加

5.其次這個時候

,我們的豎向邊由兩條變成了3條

,所以ans+=3*(

掃瞄線3

的高度h3-

掃瞄線2

的高度h2).

然後我們讀入第三條掃瞄線(上位邊

-1):

由於我們讀入該掃瞄線後sum[1]的覆蓋值少了

5,但是此時我們看圖知道其實這個矩形的另一條上邊了

.所以我們不能用

ans+=sum[1]了,

我要執行

ans+=abs(last-sum[1]),

其中last

是上一輪讀入掃瞄線後

sum[1]

的值。

第六周訓練總結(4 5)

這周刷題主要是以線性dp為主,按照慣例,先陳述一下這週的感受。接觸dp有一段時間了,很難的乙個專題,能看題解看明白,但自己怎麼著都想不過來。應該是從上週日開始,連續兩天碰到了許多求最大欄位和的問題,也從中學到了許多,下面會主要介紹一下介紹一下。不過這周雖然主要進行的dp的刷題,但搜尋卻出現的頻率挺高...

第六周總結

2 關於register 提高速度 儲存型別說明符 register要求變數儲存在cpu暫存器中,所以不能用取位址符 取其位址,並且,在全域性變數的地方不能出現register 防止儲存型別不唯一引起的衝突。同時,register 變數必須是能被cpu暫存器所接受的型別。這就意味著,register...

總結第六周

這一周從時間意義上也算是國慶假期後的第一周,學弟學妹也正式踏入了校園,我們工作室的招新工作也相繼展開,截止到此時此刻,還有資料專業和物聯專業的學弟學妹沒有來到我們工作室進行參觀,這兩天也挺累的,但也從中收穫到了許多東西,比如 在人多的時候講話可以更淡定一點,沒有那麼緊張 跟學弟學妹交流用怎樣的方式更...