LOJ6285 數列分塊入門9(分塊)

2022-05-01 21:18:06 字數 718 閱讀 1709

昨天對著**看了一晚上

然後今天終於在loj上過了

數列分塊入門9題撒花★,°:.☆( ̄▽ ̄)/$:.°★ 。

然後相當玄學

塊的大小調成\(\sqrt\)會tle,改成150就過了

嘖然後就是用map離散化之後的值不能直接比較大小

鍋鍋鍋

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

int belong[100100],f[1000][1000],sz,blocknum,n,val[100100],id=0,cnt[100100],a[100100];

vectorvec[100100];

mapto;

void calbe(int n)

void pre(int x)

}int query(int l,int r,int c)

int query(int l,int r)

return ans;

}int main()

a[i]=to[a[i]];

vec[a[i]].push_back(i);

}for(int i=1;i<=blocknum;i++)

pre(i);

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

return 0;

}

Loj 6285 數列分塊入門 9

思路 離散化處理下就好了,具體解釋在 裡 ps 小新新別看了,你學不會的 實現 includeusing namespace std const int m 1e5 10 int n,block,idx,a m bl m f 510 510 val m cnt m vector ve m void ...

loj 6285 數列分塊入門 9

題目 傳送門 簡要題意 給出乙個長為 n 的數列,以及 n 個操作,操作涉及詢問區間的最小眾數。題解 很開心,最後一題.分塊刷的非常高 惡 興 心 據說原題是一道超級大難題.還是先做做簡單的吧.首先用dp求出第i塊到第j塊的最小眾數.然後神奇的stl開始來襲.依舊分情況走一波.對於我們需要處理的其中...

LOJ 6285 數列分塊入門 9 區間眾數

如果只查詢眾數的個數,完全可以莫隊,加數時容易維護眾數的數量,刪除數時,眾數的數量要麼減1,要麼不變,只需再開乙個標記陣列維護眾數的數量即可 根據陳立傑 區間眾數解題報告 實現了下面兩種解法 解法一 塊數分成sqrt n 超時了,150可以過 分塊真毒瘤 pragma gcc optimize 2 ...