題意:給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...