CSU 1515 Sequence (莫隊演算法)

2022-01-15 05:59:53 字數 1024 閱讀 6049

題意:給n個數,m個詢問。每個詢問是乙個區間,求區間內差的絕對值為1的數對數。

題解:先離散化,然後莫隊演算法。莫隊是離線演算法,先按按詢問左端點排序,在按右端點排序。

ps:第一次寫莫隊,表示挺簡單的,不過這題之前亂搞一氣一直tle,莫隊還是很強大的。

**:

#include #include 

#include

#include

#include

using

namespace

std;

typedef

long

long

ll;struct

node

} a[

10005

];int b[10005], c[10005

];int tmp[30000

];ll so[

100005

];struct

query

} q[

100005

];int update(int x, int

d)//

我好菜啊

intmain()

sort(a+1, a+1+n);

b[1] = 1

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

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

memset(tmp,

0, sizeof

tmp);

for (int i = 0; i < m; ++i)

sort(q, q+m);

int pl = 1, pr = 0

; ll ans = 0

;

for (int i = 0; i < m; ++i)

for (int i = 0; i < m; ++i)

printf(

"%lld\n

", so[i]);

}return0;

}

莫隊演算法 雜湊 csu1515 Sequence

這是中南第二屆邀請賽的題目,當時還不懂莫隊演算法,現在做起來感覺思路還是挺清晰的,可以用來當莫隊演算法的練習 首先講下莫隊演算法 也是逆天 是一種分塊的思路 超逆天思維 它是一種離線演算法,複雜度是o m sqrt n m是區間範圍大小,n是區間個數 適用條件 如果知道 l,r 的答案,可以用o 1...

化暴力為標算 莫隊

莫隊。這個聽起來非常高階的東西,當時聽大佬們說這個名詞就一臉害怕,學完發現其實也還好。之所以叫這個名字 因為發明者的緣故而已。和演算法本身並沒有什麼直接關係。莫隊就是用區間來優化暴力,可以把暴力的複雜度壓到n 1.5左右 當然,常數有多大我就不知道了 莫隊演算法的本質就是暴力列舉。對於m個詢問,就是...

BZOJ 3289 Mato的檔案管理 莫隊演算法

詢問區間內逆序對的個數。區間轉移是o logn 的,加上莫隊總複雜度 o nn logn include include include using namespace std const int n 50005 int block n a n c n n unsigned x n t n stru...