当前位置: 首页 > news >正文

蓝桥杯javaB组备战第二天 题目 区间次方和 编号3382

这是一个前缀和问题,但是不同于以为前缀和问题

前缀和问题求解思路:

创建一个前缀数组 s[] ,存储输入的元素的a[1]到a[n]的和

及:s[1] = s[i-1]+a[i]   ,i>=1

这样比暴力算法的复杂度要低很多可以将 时间复杂度从O(q*n*m)下降到 O(n*m+q)

区间次方和

注意:这里 1=<k<=5是重点

我当时在计算前缀和的时候,没有关注k的取值

思路如下:

只需要计算 数组的1-5次方的前缀和即可

用二维前缀和数组存储数据 

s[i][j]表示前j个元素的i次方和

i>=1 且j>=1

代码如下

package Lanqiao;


import java.util.Scanner;

public class L3382 {
    public static void main(String[] args) {
        Scanner in  = new Scanner(System.in);

        int n =in.nextInt();
        int m =in.nextInt();
        int a[] = new int[100010];
        long s[][] = new long[6][100010];
        for (int i = 1; i <=n ; i++) {
            a[i] =in.nextInt();
            for (int j = 1; j <=5 ; j++) {
                s[j][i] = (long) Math.pow(a[i],j)+s[j][i-1];

            }


        }
        for (int i = 0; i <m ; i++) {
            int l =in.nextInt();
            int r =in.nextInt();

            int k =in.nextInt();

            long sum = s[k][r]-s[k][l-1];

            sum = (long) (sum%(Math.pow(10,9)+7));
            System.out.println(sum);
        }




        in.close();
    }
}

相关文章:

  • Linux中grep指令
  • yum修改阿里云
  • 致远互联FE协作办公平台 存在SQL注入漏洞(DVB-2025-8942)
  • WHAT - 前端性能监控和错误追踪(Sentry 篇)
  • 爬取动态数据,爬取持久化数据
  • docker-compose Install m3e(fastgpt扩展) GPU模式
  • 官宣 | Fluss 0.6 发布公告
  • Vue 实现AI对话和AI绘图(AIGC)人工智能
  • redux_旧版本
  • Matlab 多项式拟合点法线(二维)
  • 【每日学点HarmonyOS Next知识】防止重复点击、对话框收拾拦截、自定义键盘焦点、页面层级、自定义对话框创建
  • mysql-8.0.41-winx64 手动安装详细教程(2025版)
  • 【 <一> 炼丹初探:JavaWeb 的起源与基础】之 Tomcat 的工作原理:从启动到请求处理的流程
  • c#面试题12
  • MySQL中有哪些索引
  • 存储优化(protobuf与mmkv)
  • RPC服务调用深度解析:从原理到Java实践
  • 面试之《TypeScript泛型》
  • JavaScript 模块 vs C# 类:封装逻辑的两种哲学
  • C# WPF 串口通信
  • 去招聘网站做顾问/seo快速排名源码
  • 请多记几个本站域名防止/企业推广软文
  • 做网站商业欺骗赔多少/百度云网盘搜索引擎
  • 做水果网站平台/免费自制app软件
  • 购物网站php源代码/兰州网络seo
  • 网站备案的流程/西安seo推广公司