2020暑期牛客第六場 K Bag(思維,字首)

2021-10-08 15:44:40 字數 647 閱讀 1460

收穫:對於乙個長度為k的區間是否存在[l,

l+k−

1]

[l,l+k-1]

[l,l+k

−1]的所有數字,可以用區間和和區間異或和來判別。

思路:對於前後殘缺的區間可以預處理出前字尾中不同數字的個數,然後列舉分割點,對於完整的區間用區間和和區間異或和判斷。

ll a[n]

, xor[n]

, sum[n]

;ll n, k, sum, xor;

int cot1[n]

, cot2[n]

;void

x_x(

) mp.

clear()

;ff(i, n,1)

}bool

check

(int idx)

if(cot2[i]

return

false

;return

true;}

intmain()

}puts

("no");

}else

}puts

("no");

} fin:;}

return0;

}

牛客暑假第六場 K bag 差分 思維

題意 給你一段長度為n的序列判斷是否為k bag的子串行,定義k bag為k個數的全排列 思路 這題的思路有很多,有hash map,有dp,也有差分。說一下差分把,首先對與這段序列,有開頭一定在1 min k,n 之間,用乙個陣列維護這段區間,如果這個陣列t i 的字首和等於0,那麼就表示這個位置...

牛客多校第六場 K Bag(暴力,貪心)

題意 原序列是一堆k個數全排列組成的。給你乙個串,求這個子串是否可能是原序列子串 思路 直接暴力啊,維護出dp i dp i dp i 代表i ii i k 1i k 1 i k 1是否是全排列,然後列舉第乙個排列的終止位置。列舉起始排列的複雜度為k kk,check的複雜度為n k n kn k,...

2020牛客暑期多校訓練營 第六場

雖然題目沒有看懂,但是本場mvp浩大師發現了規律,f x 2x 12x f x 1 f x 1 over 2 x f x 1 f x 2 x2x 1 f x 1 然後把程式打出來就ac了。include using namespace std typedef long long ll const i...