第九周周任務 可持久化線段樹 主席樹

2021-09-30 01:19:16 字數 1998 閱讀 6376

前言

之前了解過一點點,但是沒有深入學習,所以趁這次周任務的機會系統的學一下,之後應該會和線段樹一起寫一篇部落格。

周任務如下

目錄

minimum inversion number

k-th number

2019牛客暑期多校訓練營(第九場)cutting bamboos **

minimum inversion number

//

#include

#include

#include

using

namespace std;

const

int maxn=

5010

;struct nodenode[maxn]

;void

build

(int k,

int l,

int r)

int mid=

(l+r)

>>1;

build

(k<<

1,l,mid)

;build

(k<<1|

1,mid+

1,r);}

intquery

(int k,

int l,

int r)

void

update

(int k,

int x)

int mid=node[k]

.l+node[k]

.r>>1;

if(x<=mid)

update

(k<<

1,x)

;else

update

(k<<1|

1,x)

; node[k]

.sum=node[k<<1]

.sum+node[k<<1|

1].sum;

}int

main()

int ans=sum;

for(

int i=

1;i<=n;i++

)printf

("%d\n"

,ans);}

return0;

}

k-th number

#include

#include

using

namespace std;

const

int maxn=

100010

;int n,a[maxn]

,b[maxn]

,rt[maxn]

,tot=0;

struct nodenode[maxn*20]

;void

update

(int l,

int r,

int x,

int&y,

int pos)

intquery

(int l,

int r,

int x,

int y,

int k)

intmain()

sort

(b,b+n)

;unique

(b,b+n)

;for

(int i=

1;i<=n;i++

)for

(int i=

0;i)return0;

}

2019牛客暑期多校訓練營(第九場)cutting bamboos

理清思路中
總結

這周雖然放假,但是那個出資料真的難到我了,搞了幾天沒搞好,難受的一匹,下週就要上交了,軟考和四級口語要到了,感覺時間要抓緊了,不能混日子了。

第九周 任務一

實驗內容 定義complex類中的 和 運算子的過載,實現輸入和輸出。程式的版權和版本宣告部分 檔名稱 定義complex類中的 和 運算子的過載,實現輸入和輸出 作 者 薛廣晨 完成日期 2012 年 4 月 14日 版 本號 x1.0 對任務及求解方法的描述部分 輸入描述 程式頭部的注釋結束 此...

第九周 任務三

實驗內容 定義分數類中 和 運算子過載 程式的版權和版本宣告部分 檔名稱 定義分數類中 和 運算子過載 作 者 薛廣晨 完成日期 2012 年 4 月 14 日 版 本號 x1.0 任務3 接第8周任務3,定義分數類中 和 運算子過載,實現分數的輸入輸出,改造原程式中對運算結果顯示方式,使程式讀起來...

第九周任務1

includeusing namespace std class complex complex double r,double i complex operator complex c2 complex operator complex c2 complex operator complex c2...