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

蓝桥杯题型

蓝桥杯题型分类

二分

123

传送门

在这里插入图片描述
在这里插入图片描述

1. 小区间的构成

假设数列的构成是如下形式:

  • 第 1 个区间包含 1 个元素(1)。
  • 第 2 个区间包含 2 个元素(1 2)。
  • 第 3 个区间包含 3 个元素(1 2 3)。
  • 第 4 个区间包含 4 个元素(1 2 3 4)。

i 个小区间包含 i 个元素。我们将这些小区间连起来形成整个数列。

2. 数组 a[j] 的定义

数组 a[j] 表示前 j 个小区间的总元素数,同时也能表示每个小区间的和。例如:

  • a[1] = 1 (表示前 1 个小区间有 1 个元素)
  • a[2] = 1 + 2 = 3 (表示前 2 个小区间共有 3 个元素)
  • a[3] = 1 + 2 + 3 = 6 (表示前 3 个小区间共有 6 个元素)
  • a[4] = 1 + 2 + 3 + 4 = 10 (表示前 4 个小区间共有 10 个元素)

注意,数组 a[j] 是单调递增的,因为每个小区间的元素个数都在增加。

关键点:k = i - a[j]

  • 数列中的位置 i 是在第 j+1 个区间中的某个元素。
  • j 个区间包含了 a[j] 个元素,也就是说,第 j+1 个区间的第一个元素出现在位置 a[j] + 1

因此,位置 i 在第 j+1 个区间的具体位置是:

  • j+1 个区间的第 k 个元素k 就是位置 i 相对于第 j+1 个区间开始位置的偏移量。

由于前 j 个区间包含了 a[j] 个元素,第 j+1 个区间从位置 a[j] + 1 开始。所以位置 i 在第 j+1 个区间中的具体位置是:

k = i - a[j]

#include <iostream>
using namespace std;
using ll=long long;
const int N=1414215;ll a[N],s[N];ll persum(ll i)
{ll l=0,r=N;while(l<r){ll mid=(l+r+1)>>1;if(a[mid]<i)l=mid;else r=mid-1;}return  s[l]+a[i-a[l]];
}
int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);for(int i=1;i<N;i++){a[i]=a[i-1]+i;s[i]=s[i-1]+a[i];}int t;cin>>t;while(t--){ll l,r;cin>>l>>r;cout<<persum(r)-persum(l-1)<<endl;}return 0;
}
http://www.lryc.cn/news/548011.html

相关文章:

  • STM32-I2C通信协议
  • taosd 写入与查询场景下压缩解压及加密解密的 CPU 占用分析
  • uniapp微信小程序vue3自定义tabbar
  • BUUCTF——[GYCTF2020]FlaskApp1 SSTI模板注入/PIN学习
  • 如何用Kimi生成PPT?秒出PPT更高效!
  • 数据结构(回顾)
  • 全国产!瑞芯微3562Mini(2GHz四核A53 NPU)工业开发板规格书
  • 鸿蒙HarmonyOS评论功能小demo
  • 异常(6)
  • 精选一百道备赛蓝桥杯——2.K倍区间
  • 编译Telegram Desktop
  • 玩转python: 掌握Python数据结构之链表
  • upload-labs详解(1-12)文件上传分析
  • RAG系统(检索增强生成)的优化策略
  • 写毕业论文用哪个AI好?这6款AIGC论文工具给你答案
  • loadingcache优化
  • 【Vue3 Element UI - Plus + Tyscript 实现Tags标签输入及回显】
  • STM32 子设备通过CAN发送数据到主设备
  • Python可视化——地理空间型图表(自用)
  • WordPress报502错误问题解决-php-fpm-84.service loaded failed failed LSB: starts php-fpm
  • Python在SEO中的自动化应用爬虫开发与日志分析实例
  • thingsboard edge 在windows 环境下的配置
  • nnMamba:基于状态空间模型的3D生物医学图像分割、分类和地标检测
  • nginx 配置403页面(已亲测)
  • SyntaxError: Invalid or unexpected token in JSON at position x
  • Uncaught TypeError: Cannot read properties of undefined (reading ‘xxx‘)
  • Nginx 跨域配置详细讲解
  • 前端开发基石:HTML语义化深度解析与实践指南
  • mongodb安装教程以及mongodb的使用
  • C# 中的多线程同步机制:lock、Monitor 和 Mutex 用法详解