求 \sum\limits_{l=1}^n\sum\limits_{r=l}^n\bigoplus\limits_{i=l}^r i 。
我只会线性做法,不知道有没有 O(1) 的。
不是发个啥 qp 啊,水帖水疯了是吧
我只会N^2
1
6
10
30
39
72
88
168
193
294
330
462
511
672
736
1056
1137
1494
1594
1998
2119
2568
2712
3240
3409
3990
4186
4830
5055
5760
6016
7296
7585
8934
9258
10686
11047
12552
12952
14568
15009
16710
17194
18990
19519
21408
21984
24096
24721
26934
27610
29934
30663
33096
33880
36456
37297
39990
40890
43710
44671
47616
48640
53760
54849
60102
61258
66654
67879
73416
74712
80424
81793
87654
89098
95118
96639
102816
104416
110880
112561
119190
120954
127758
129607
136584
138520
145704
147729
155094
157210
164766
166975
174720
177024
185472
187873
196518
199018
207870
210471
219528
222232
231528
234337
243846
246762
256494
259519
269472
272608
282912
286161
296694
300058
310830
314311
325320
328920
340200
343921
355446
359290
371070
375039
387072
391168
411648
415873
436614
440970
461982
466471
487752
492376
513960
518721
540582
545482
567630
572671
595104
600288
623136
628465
651606
657082
680526
686151
709896
715672
739752
745681
770070
776154
800862
807103
832128
838528
864384
870945
897126
903850
930366
937255
964104
971160
998376
1005601
1033158
1040554
1068462
1076031
1104288
1112032
1140768
1148689
1177782
1185882
1215342
1223623
1253448
1261912
1292136
1300785
1331382
1340218
1371198
1380223
1411584
1420800
1454592
1464001
1498182
1507786
1542366
1552167
1587144
1597144
1632552
1642753
1678566
1688970
1725198
1735807
1772448
1783264
1820448
1831473
1869078
1880314
1918350
1929799
1968264
1979928
2018856
2030737
2070102
2082202
2122014
2134335
2174592
2187136
2228352
2241121
2282790
2295786
2337918
2351143
2393736
2407192
2450280
2463969
2507526
2521450
2565486
2579647
2624160
2638560
2683680
2698321
2743926
2758810
2804910
2820039
2866632
2882008
2929128
2944753
2992374
3008250
3056382
3072511
3121152
3137536
3219456
3236097
3318534
3335434
3418398
3435559
3519048
3536472
3620520
3638209
3722790
3740746
3825870
3844095
3929760
3948256
4034592
4053361
4140246
4159290
4246734
4266055
4354056
4373656
4462248
4482129
4571286
4591450
4681182
4701631
4791936
4812672
4904064
4925089
5017062
5038378
5130942
5152551
5245704
5267608
5361384
5383585
5477958
5500458
5595438
5618239
5713824
5736928
5833248
5856657
5953590
5977306
6074862
6098887
6197064
6221400
6320232
6344881
6444342
6469306
6569406
6594687
6695424
6721024
6824448
6850369
6954438
6980682
7085406
7111975
7217352
7244248
7350312
7377537
7484262
7511818
7619214
7647103
7755168
7783392
7892256
7920817
8030358
8059258
8169486
8198727
8309640
8339224
8450856
8480785
8593110
8623386
8736414
8767039
8880768
8911744
9026688
9058017
9173670
9205354
9321726
9353767
9470856
9503256
9621096
9653857
9772422
9805546
9924846
9958335
10078368
10112224
10233120
10267345
10388982
10423578
10545966
10580935
10704072
10739416
10863336
10899057
11023734
11059834
11185278
11221759
11347968
11384832
11520000
11557249
11693190
11730826
11867550
11905575
12043080
12081496
12219816
12258625
12397734
12436938
12576846
12616447
12757152
12797152
12938784
12979185
13121622
13162426
13305678
13346887
13490952
13532568
13677480
13719505
13865238
13907674
14054238
14097087
14244480
14287744
14436480
14480161
14629734
14673834
14824254
14868775
15020040
15064984
15217128
15262497
15415494
15461290
15615150
15661375
15816096
15862752
16018464
16065553
16222134
16269658
16427118
16475079
16633416
16681816
16841064
16889905
17050038
17099322
17260350
17310079
17472000
17522176
17687040
17737665
17903430
17954506
18121182
18172711
18340296
18392280
18560808
18613249
18782694
18835594
19005966
19059327
19230624
19284448
19456800
19511089
19684374
19739130
19913358
19968583
20143752
20199448
20375592
20431761
20608854
20665498
20843550
20900671
21079680
21137280
21317760
21375841
21557286
21615850
21798270
21857319
22040712
22100248
22284648
22344673
22530054
22590570
22776942
22837951
23025312
23086816
23275296
23337297
23526774
23589274
23779758
23842759
24034248
24097752
24290280
24354289
24547830
24612346
24806910
24871935
25067520
25133056
25460736
25526785
25855494
25922058
26251806
26318887
26649672
26717272
27049128
27117249
27450150
27518794
27852750
27921919
28256928
28326624
28662816
28733041
29070294
29141050
29479374
29550663
29890056
29961880
30302376
30374737
30716310
30789210
31131870
31205311
31549056
31623040
31968384
32042913
32389350
32464426
32811966
32887591
33236232
33312408
33662184
33738913
34089798
34167082
34519086
34596927
34950048
35028448
35382816
35461777
35817270
35896794
36253422
36333511
36691272
36771928
37130856
37212081
37572150
37653946
38015166
38097535
38459904
38542848
38908416
38991937
39358662
39442762
39810654
39895335
40264392
40349656
40719912
40805761
41177190
41263626
41636238
41723263
42097056
42184672
42559776
42647985
43024278
43113082
43490574
43579975
43958664
44048664
44428584
44519185
44900310
44991514
45373854
45465663
45849216
45941632
46326912
46419937
46806438
46900074
47287806
47382055
47771016
47865880
48256104
48351585
48743046
48839146
49231854
49328575
49722528
49819872
50215200
50313169
50709750
50808346
51206190
51305415
51704520
51804376
52204776
52305265
52706934
52808058
53211006
53312767
53716992
53819392
54233088
54336129
54751110
54854794
55271070
55375399
55792968
55897944
56316840
56422465
56842662
56948938
57370446
57477375
57900192
58007776
58432032
58540273
58965846
59074746
59501646
59611207
60039432
60149656
60579240
60690129
61121046
61232602
61664862
61777087
62210688
62323584
62759040
62872609
63309414
63423658
63861822
63976743
64416264
64531864
64972776
65089057
65531334
65648298
66091950
66209599
66654624
66772960
67219488
67338513
67786422
67906138
68355438
68475847
68926536
69047640
69499752
69621553
70075062
70197562
70652478
70775679
71232000
71355904
71815680
71940289
72401478
72526794
72989406
73115431
73579464
73706200
74171688
74299137
74766054
74894218
75362574
75491455
75961248
76090848
76562208
76692529
77165334
77296378
77770638
77902407
78378120
78510616
78987816
79121041
79599702
79733658
80213790
80348479
80830080
80965504
81449088
81585249
82070310
82207210
82693758
82831399
83319432
83457816
83947368
84086497
84577542
84717418
85209966
85350591
85844640
85986016
86481696
86623825
87121014
87263898
87762606
87906247
88406472
88550872
89052648
89197809
89701110
89847034
90351870
90498559
91004928
91152384
91693056
91841281
92383494
92532490
93076254
93226023
93771336
93921880
94468776
94620097
95168550
95320650
95870670
96023551
96575136
96728800
97282080
97436529
97991382
98146618
98703054
98859079
99417096
99573912
100133544
100291153
100852374
101010778
101573598
101732799
102297216
102457216
103023744
103184545
103752678
103914282
104484030
104646439
105217800
105381016
105954024
106118049
106692678
106857514
107433774
107599423
108177312
108343776
108923424
109090705
109671990
109840090
110423022
110591943
111176520
111346264
111932520
112103089
112690998
112862394
113451966
113624191
114215424
114388480
114983424
115157313
115753926
115928650
116526942
116702503
117302472
117478872
118080552
118257793
118861158
119039242
119644302
119823231
120429984
120609760
121218336
121398961
122009238
122190714
122802702
122985031
123598728
123781912
124397352
124581393
125198550
125383450
126002334
126188095
126808704
126995328
127618176
127805665
128430246
128618602
129244926
129434151
130062216
130252312
130882152
131073121
131704710
131896554
132529902
132722623
133357728
133551328
134188320
134382801
135021558
135216922
135857454
136053703
136696008
136893144
137537256
137735281
138381174
138580090
139227774
139427583
140077056
140277760
140937216
141138817
141800070
142002570
142665630
142869031
143533896
143738200
144404904
144610113
145278630
145484746
146155086
146362111
147034272
147242208
147916320
148125169
148801110
149010874
149688654
149899335
150578952
150790552
151472040
151684561
152367894
152581338
153266526
153480895
154167936
154383232
155072640
155288865
155980134
156197290
156890430
157108519
157803528
158022552
158719464
158939425
159638214
159859114
160559790
160781631
161484192
161706976
162411552
162635281
163341750
163566426
164274798
164500423
165210696
165437272
166149480
166377009
167091126
167319610
168035646
168265087
168983040
169213440
169935360
170166721
170890566
171122890
171848670
172081959
172809672
173043928
173773608
174008833
174740454
174976650
175710222
175947391
176682912
176921056
177658656
177897777
178637334
178877434
179618958
179860039
180603528
180845592
181591080
181834129
182581590
182825626
183575070
183820095
184571520
184817536
185571456
185818465
186574374
186822378
187580286
187829287
188589192
188839192
189601128
想打个表找找规律
好卡,呜呜呜
DeepSeek 的线性做法:
(发 AI 代码违规吗)
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
long long result = 0;
for (int k = 0; k <= 30; ++k) {
int count0 = 1; // 初始前缀异或为0的情况有1次(prefix[0])
int count1 = 0;
int current_xor = 0;
long long cnt = 0;
for (int i = 1; i <= n; ++i) {
int bit = (i >> k) & 1;
current_xor ^= bit;
if (current_xor) {
cnt += count0;
} else {
cnt += count1;
}
if (current_xor) {
count1++;
} else {
count0++;
}
}
result += cnt * (1LL << k);
}
cout << result << endl;
return 0;
}
@stringdp100005 能AC就违规