题目名称 2830. 求lowbit值之和
输入输出 lowbit.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 GravatarHyoi_0Koto 于2017-10-04加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:10, 提交:18, 通过率:55.56%
GravatarHyoi_0Koto 100 0.591 s 0.50 MiB C++
GravatarHyoi_0Koto 100 0.632 s 0.27 MiB C++
Gravatarhahaha 100 0.739 s 51.43 MiB C++
Gravatarswttc 100 0.805 s 1.08 MiB C++
GravatarRegnig Etalsnart 100 0.813 s 0.67 MiB C++
GravatarThe dark 100 1.297 s 114.73 MiB C++
Gravatarhahaha 100 1.672 s 43.04 MiB C++
GravatarFoolMike 100 1.703 s 114.73 MiB C++
GravatarAnonymity 100 2.245 s 0.31 MiB C++
GravatarAAAAAAAAAA 100 2.246 s 22.29 MiB C++
关于 求lowbit值之和 的近10条评论(全部评论)
为啥我的01trie这么慢
GravatarAAAAAAAAAA
2017-10-06 11:31 3楼
难道这题不是Trie一下就行了???
GravatarFoolMike
2017-10-06 07:35 2楼
舌尖效应太难受了,清清楚楚的记着模拟做过,正解讲过,考试就是不会
GravatarRegnig Etalsnart
2017-10-04 17:01 1楼

2830. 求lowbit值之和

★★☆   输入文件:lowbit.in   输出文件:lowbit.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】


从前有一个长度为n 的数组a[],求所有的lowbit(AixorAj) 之和,其中1 ≤ i ≤ n 且

1 ≤ j ≤ n

输出答案对998244353 取模

科普:

xor 指异或操作,在C++ 中的运算符号为^,运算法则为:0 xor 0 = 0, 0 xor 1 = 1, 1 xor

0 = 1, 1 xor 1 = 0

lowbit(x) = 2k,其中k 为最小的满足2k and x ̸= 0 的非负整数


【输入格式】


第一行一个整数T,表示数据组数

对于每组数据

第一行一个正整数n,表示数组长度

第二行n 个非负整数,第i 个整数为Ai


【输出格式】

每组数据输出一行Case #x: ans。x 表示组数编号,从1 开始。ans 为所求值。

【样例输入】

2

5

4 0 2 7 0

5

2 6 5 4 0

【样例输出】

Case #1: 36

Case #2: 40

【数据范围】

所有的Ai 都在int 范围内,所有数据满足1 ≤ T ≤ 10

【来源】

qbxt 2017.10.4 t2