2020 計蒜之道 線上決賽 C 攀登山峰

2022-05-31 15:39:09 字數 1058 閱讀 4592

乙個序列\(a_i\),每次詢問\((l,r,t)\),表示詢問\([l,r]\)內出現了大於\(\frac\)次的最大的數是什麼。

\(n\le 10^5\)

感覺這題之前cf見過,直接搬那題的做法。。。tle。。。

事實證明這題正解比cf那題高到不知道**去了。

維護權值線段樹,建主席樹,表示一段字首中每個樹各自的出現次數。線段樹上維護和。

查詢的時候,如果當前權值區間總的出現次數大於\(\frac\),則繼續走下去。否則退出。

由於每一層至多有\(t\)個可以走下去的區間,\(\lg n\)層,所以一次詢問時間複雜度\(o(t\lg n)\)

這題告訴我們不要認為自己做了原題就萬事大吉了。

using namespace std;

#include #include #include #define n 100005

int n,m;

int a[n],re[n];

int p[n];

bool cmpp(int x,int y)

int en,st,t;

int ans;

void query(node *r,node *l,int l,int r)

int mid=l+r>>1;

if (ans==-1) query(r->r,l->r,mid+1,r);

if (ans==-1) query(r->l,l->l,l,mid);

}int main();

int q;

scanf("%d%d",&n,&q);

for (int i=1;i<=n;++i)

scanf("%d",&a[i]);

inita();

// for (int i=1;i<=n;++i)

// printf("%d ",a[i]);

// printf("\n");

rt[0]=null;

for (int i=1;i<=n;++i)

while (q--)

return 0;

}

計蒜之道 2019 決賽 摸魚記

聽說決賽考機器學習,而且有7.5小時,就很慌。後來聽說之前那些人都是現場學的,就決定現場學習乙個吧。先看題,大概是個點選量 就是給你一大堆已經有的資料,包括時間 地點 興趣愛好等資料以及是否點選了,又給了一堆資料要你 點選率。去問了一下zjt,他說了一堆東西,但是我都聽不懂。接著就自己上網查了一下,...

2020計蒜之道初賽一 染色 (dp 線段樹)

題意 對乙個長度為n的條染色,只能黑或者白,對第i塊染色染成黑或白分別加分arr i 和brr i 給出m條線段,對這些線段同時染成某種顏色有額外的加分,求最大的加分數。解析 比賽時用著明顯錯誤的假演算法衝過了中等難度,感覺題目的資料有點過水,不能保證 完全正確 現在想來中等難度的o n m 2 的...

2020 計蒜之道 預賽 第一場

思路 模擬題 考慮全面即可 第一步 判斷先手和後手,兩棋子相差一定是 1,當相等時,黑子x先走。第二步 暴力判斷每個空白處,填充相應棋子,能不能湊齊五子連珠。橫,豎,撇,捺 說明 黑子先走,棋盤上只會出現黑子 白子的情況 當時只考慮黑子先走,一首涼涼送給自己 includechar map 26 2...