n 乙個長度為n
nn的序列a
aa,第i
ii個數是a
ia_i
ai,問每個數a
ia_i
ai是否存在乙個數j
jj,使得ai&
aj=0
a_i\&a_j=0
ai&aj
=0
資料範圍:n≤1
06,a
i≤10
6n\leq 10^6,a_i\leq 10^6
n≤106,
ai≤
106sol
utio
nsolution
soluti
on 對a
ia_i
ai取反存入桶
對桶中每乙個有值的元素i
ii,對i
ii的每乙個1取反再放入桶中,表示這個數是合法的
最後判斷a
ia_i
ai是否在桶中即可
也需要一點卡常技巧
時間複雜度:o(a
iloga
i)o(a_i\log a_i)
o(ai
logai
) cod
ecode
code
#include
#include
#include
#include
#define ll long long
using
namespace std;
int n,a[
1000010
],m;
bool b[
1<<20]
;inline ll read()
signed
main()
for(
register
int i=
1;i<=n;i++
)putchar
(b[a[i]]+
48),putchar(32
);fclose
(stdin);
fclose
(stdout);
}
2020 10 17 NOIP提高A組 模擬
t2 首先算出期望走ans步能暴擊一次,那麼答案就是1 ans。這是因為題目中可視為走了無限步之後的期望暴擊次數。然後ans的計算還是很容易的,可以列舉i,算出第i步還沒有暴擊或者剛好在第i步暴擊的概率,這樣都可以計算ans。t4 這題比較巧妙。如果不存在乙個k k的合法正方形,那麼先手必敗。否則如...
2020 10 17 NOIP提高A組 模擬 總結
這就是沒看資料範圍不開 longlong 以及最後暴力都不調樣例還有的結果 死的透紅透紅的 考場 0 100 0 0 100 估分 24 100 30 1 155 16 一開始,sg 函式?昨天剛搞過!然後,到死也推不出來,打完暴力也找不到規律。我 正解打出來了,但發現自己的打法似乎比別人的要複雜許...
2020 10 17 NOIP提高B組 模擬
今天a組題真棒,決定再再再滾。t1 這不是原原原題,n le 10 3 隨便整。t2 第一問好做,第二問棄療。t3 無思路。t4 一眼斜率優化,然後再次嘗試猜結論失敗。100 100 30 0 0 20 30 30 160 150 t2 性質題,dag最小不交路徑覆蓋 點數 最大匹配 t3 按高位到...