HYSBZ 2038經典莫隊演算法題

2022-03-15 23:36:42 字數 986 閱讀 4334

無修改的莫隊

emmm莫隊的幾條性質,必須是離線的,複雜度是n*sqrt(n)

就是通過預處理查詢區間,然後從(l,r)轉移到(ll,rr),這樣的複雜度是曼哈頓距離,即abs(l-ll)+abs(r-rr)

通過分塊可以保證複雜度在n*sqrt(n)內

詳細請參考:

#include#define fi first

#define se second

#define ll long long

#define mp make_pair

#define pb push_back

#define mod 1000000007

#define pii pair#define ls l,m,rt<<1

#define rs m+1,r,rt<<1|1

using

namespace

std;

const

int g=10.0,eps=1e-9

;const

int n=50000+10,maxn=5000000+10,inf=0x3f3f3f3f

;struct

moq[n];

intbelong[n],co[n];

ll sum[n],ans;

bool

cmp(mo a,mo b)

bool

cmp1(mo a,mo b)

void re(int i,int

add)

intmain()

sort(q+1,q+1+m,cmp1);

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

printf(

"%lld/%lld\n

",q[i].a,q[i].b);

return0;

}/*******************

******************

*/

view code

HYSBZ 2038 莫隊演算法

作為乙個生活散漫的人,小z每天早上都要耗費很久從一堆五顏六色的襪子中找出一雙來穿。終於有一天,小z再也無法忍受這惱人的找襪子過程,於是他決定聽天由命 具體來說,小z把這n只襪子從1到n編號,然後從編號l到r l 儘管小z並不在意兩隻襪子是不是完整的一雙,甚至不在意兩隻襪子是否一左一右,他卻很在意襪子...

BZOJ 2038 小Z的襪子(莫隊演算法)

莫隊演算法的話,看這個比較好懂 net bossup article details 39236275 不過這裡面的部落格的 貌似有點問題,所以 的話,net lwt36 article details 50583757 這個是對的,看我的也行。什麼時候用莫隊?1 區間不會被修改 2 可以離線 3 ...

BZOJ2038,小Z的襪子(莫隊演算法)

莫隊演算法。這道題wa了很多次,猜測可能是跟oj系統有關,有點坑。如下 include include include includeusing namespace std typedef long long ll const int maxn 5e4 5 const int mm 2e6 5 in...