AcWing 239 奇偶遊戲 並查集,拓展域

2021-10-09 10:23:53 字數 2676 閱讀 5023

題意

有乙個長度為 n

nn 僅由0和1組成的序列。有 m

mm 個問題和回答:在區間 [li

,ri]

[l_i,r_i]

[li​,r

i​] 內有奇數個或者偶數個 1

11 。

輸出乙個整數 k

kk ,表示這個01序列滿足 1∼k

1\sim k

1∼k 個回答,但不滿足 1∼k

+1

1\sim k+1

1∼k+

1 個回答。如果滿足所有回答,則輸出問題的總數量。

解法維護 1

11 的數量的字首和的奇偶性 s[i

]s[i]

s[i] 。

**

#pragma region

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

typedef

long

long ll;

#define rep(i, a, n) for (int i = a; i <= n; ++i)

#define per(i, a, n) for (int i = n; i >= a; --i)

namespace fastio

inline

charnc(

)}return

*p1++;}

inline

bool

blank

(char ch)

template

<

class

t>

inline

bool

r(t &x)

inline

boolr(

double

&x)if

(sign)

x =-x;return

true;}

inline

boolr(

char

*s)inline

boolr(

char

&c)return

true;}

template

<

classt,

class..

. u>

bool

r(t &h, u &..

. t)

#undef out_size

#undef buf_size};

// namespace fastio

using

namespace fastio;

template

<

class

t>

void_w(

const t &x)

void_w(

const

int&x)

void_w(

const

int64_t

&x)void_w(

const

double

&x)void_w(

const

char

&x)void_w(

const

char

*x)template

<

classt,

class

u>

void_w(

const pair

&x)template

<

class

t>

void_w(

const vector

&x)voidw(

)template

<

classt,

class..

. u>

voidw(

const t &head,

const u &..

. tail)

#pragma endregion

const

int maxn =

1e5+5;

int n, m;

int a[maxn]

, b[maxn]

;char op[maxn][10

];int fa[maxn]

;int

findroot

(int x)

void

link

(int x,

int y)

intmain()

memcpy

(b, a,

sizeof

(b))

;sort

(b +

1, b +1+

2* m)

;rep

(i,1,2

* m) a[i]

=lower_bound

(b +

1, b +1+

2* m, a[i]

)- b;

rep(i,

1, m)

else}w

(m);

}

AcWing 239 奇偶遊戲 邊帶權並查集

題意 有乙個長度為 n nn 僅由0和1組成的序列。有 m mm 個問題和回答 在區間 li ri l i,r i li r i 內有奇數個或者偶數個 1 11 輸出乙個整數 k kk 表示這個01序列滿足 1 k 1 sim k 1 k 個回答,但不滿足 1 k 1 1 sim k 1 1 k 1...

奇偶遊戲 帶權並查集

奇偶遊戲 首先需要知道異或這種東西 兩個數異或的結果是什麼 兩個數按位做差的絕對值 異或相當於 模2 做加法 只看最後一位 例如 5 101 3 011 只看最後以為為0 就是偶數,奇數加奇數為偶數,這一題用到此方法 1個數異或自己為0 乙個數異或0 還是自己 定義s i 為前i個數又多少個奇數1 ...

資料結構 並查集 奇偶遊戲(做法1)

並查集有兩個擴充套件應用,乙個是帶邊權的並查集另乙個是帶擴充套件域的並查集。這道題用兩種方法都可以做。值得學習。題目 奇偶遊戲 做法1 帶邊權的並查集 1 用 sum x sum x sum x 表示 1 11到 x xx 中1的個數 此處 sum x sum x sum x 不需要具體求出 讀入 ...