蓝桥杯2023年第十四届省赛真题-异或和之和--题解

目录

蓝桥杯2023年第十四届省赛真题-异或和之和

题目描述

输入格式

输出格式

样例输入

样例输出

【代码实现】


大家觉得写得可以的话,可以加入QQ群907575059.

蓝桥杯2023年第十四届省赛真题-异或和之和

时间限制: 3s 内存限制: 320MB 提交: 241 解决: 66

题目描述

给定一个数组 Ai,分别求其每个子段的异或和,并求出它们的和。或者说,对于每组满足 1 ≤ L ≤ R ≤ n 的 L, R ,求出数组中第 L 至第 R 个元素的异或和。然后输出每组 L, R 得到的结果加起来的值。

输入格式

输入的第一行包含一个整数 n 。

第二行包含 n 个整数 Ai ,相邻整数之间使用一个空格分隔。

输出格式

输出一行包含一个整数表示答案。

样例输入

复制

复制代码
5
1 2 3 4 5

样例输出

复制

复制代码
39

【代码实现】

复制代码
package LQB;

import java.util.Scanner;

/**
 * @ProjectName: study3
 * @FileName: Ex5
 * @author:HWJ
 * @Data: 2023/9/18 20:35
 */
public class Ex5 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = input.nextInt();
        }
        long res = 0;
        for (int i = 0; i < n; i++) {
            long sum = arr[i];
            res += sum;
            for (int j = i + 1; j < n; j++) {
                sum ^= arr[j];
                res += sum;
            }
        }
        System.out.println(res);
    }

}
相关推荐
橘颂TA6 分钟前
【剑斩OFFER】算法的暴力美学——LeetCode 733 题:图像渲染
算法·leetcode·职场和发展
不穿格子的程序员9 分钟前
从零开始写算法——回溯篇2:电话号码的字母组合 + 组合总和
算法·深度优先·回溯
持梦远方41 分钟前
算法剖析1:摩尔投票算法 ——寻找出现次数超过一半的数
c++·算法·摩尔投票算法
程序员-King.1 小时前
链表——算法总结与新手教学指南
数据结构·算法·链表
Ulyanov1 小时前
战场地形生成与多源数据集成
开发语言·python·算法·tkinter·pyside·pyvista·gui开发
FMRbpm2 小时前
树的练习6--------938.二叉搜索树的范围和
数据结构·c++·算法·leetcode·职场和发展·新手入门
wubba lubba dub dub7502 小时前
第三十三周 学习周报
学习·算法·机器学习
C+-C资深大佬2 小时前
C++数据类型
开发语言·c++·算法
多米Domi0112 小时前
0x3f 第35天 电脑硬盘坏了 +二叉树直径,将有序数组转换为二叉搜索树
java·数据结构·python·算法·leetcode·链表
想逃离铁厂的老铁2 小时前
Day45 >> 115、不同的子序列 + 583. 两个字符串的删除操作 + 72. 编辑距离
算法·leetcode