點此看題
本題的關鍵是理解:x xor y 的二進位制表示下有奇數個1
如果xx
x有奇數個1
11,y
yy有奇數個1
11,那麼x⊕y
x\oplus y
x⊕y一定有偶數個1
11,可以發現只有乙個為奇數個1
11,乙個為偶數個1
11的情況異或起來才是奇數個1
11,問題轉化成了在這些區間的並集中有多少個數奇數個1
11,有多少個數偶數個111
顯然就可以用動態開點線段樹了,如果乙個點被完全覆蓋,如果他是葉子,判斷加到哪一維,否則0
00的個數和1
11的個數都是len
/2
len/2
len/
2,當然需要從0
00開始存(最底層0,1
0,10,
1一對,2,3
2,32,
3一對...
.....
.)
#include
#define int long long
const
int m =
5000005
;const
int lim =
(1ll
<<32)
-1;int
read()
int n,rt,cnt,f[m]
,ls[m]
,rs[m]
,v[m][2
];void
ful(
int&x,
int l,
int r)
v[x][0
]=v[x][1
]=(r-l+1)
/2;}
void
down
(int x,
int l,
int r)
voidup(
int x)
void
upd(
int&x,
int l,
int r,
int l,
int r)
down
(x,l,r)
;int mid=
(l+r)
>>1;
upd(ls[x]
,l,mid,l,r)
;upd
(rs[x]
,mid+
1,r,l,r);up
(x);
}signed
main()
}
LOJ 5516 無聊的數對
好水的題呀,為什麼還是這句話?額,首先,我們知道要使得 這,還是證一下吧。我們設於是答案就成了所有區間內偶數個1的個數乘上奇數個1的個數的積。然後,我們發現資料規模為 時間複雜度是 include include include include include include include inc...
無聊的生活,無聊的世界
最近是越來越無聊勒呢,我發現最近的我好像有點神經.神經兮兮的,我承認我以前就愛說,愛瘋,愛鬧,但是八,最近好像比以前還嚴重勒呢.阿,阿,算一算好像好長時間沒出家門勒呢 蛤蛤,自從退學好像越來越頹廢勒,不點阿不點,你完了,你真的完了,誒阿,一天就在家呆著,吃喝拉撒睡玩.這小生活過的,蠻享受的,但是就是...
無聊的python課程 Python無聊的總結
在公司無聊的時候看了前輩寫的python 突然發現乙個比較好玩的python表示式 1 lambda x,y x y 咋一看,這個應該類似方法之類的,上網查了查,所以特此總結下 lambda 上 冒號前邊的代表引數 冒號後邊的代表表示式 返回值型別跟引數有關 1 lambdax x2 at 0x01...