数对 离散化BIT

先把公式变个形,然后直接BIT 枚举右端点查询左端点累加答案

离散化好题,注意BIT写的时候右端点的范围是离散化区间的大小

#include<bits/stdc++.h>
using namespace std;
#define int long long
using ll = long long;
using pii = pair<int,int>;
const int N = 4e5+10;
const int inf = 0x3f3f3f3f;
const int mod = 1e9+7;int gcd(int a,int b){return b?gcd(b,a%b):a;}
int lcm(int a,int b){return a*b/gcd(a,b);}
int qmi(int a,int b,int mod){int res=1;while(b){if(b&1)res=res*a%mod;b>>=1;a=a*a%mod;}return res;}int n,q,m;
int x,y;
int a[N];
vector<int>alls;
int tr[N];
int lowbit(int x){return x&-x;}
void modify(int x,int c){for(int i=x;i<=alls.size();i+=lowbit(i))tr[i]+=c;}
int query(int x){int res =0;for(int i=x;i;i-=lowbit(i))res+=tr[i];return res;}
int res = 0;int find(int x){return lower_bound(alls.begin(),alls.end(),x)-alls.begin()+1;
}void solve()
{cin>>n>>x>>y;for(int i=1;i<=n;i++)cin>>a[i],a[i]-=y;//a[r]-a[l-1]<=x//a[l-1]>=a[r]-x;//查询 a[l-1]alls.push_back(0);for(int i=1;i<=n;i++){alls.push_back(a[i]);a[i]+=a[i-1];alls.push_back(a[i]);}sort(alls.begin(),alls.end());alls.erase(unique(alls.begin(),alls.end()),alls.end());modify(find(0),1);for(int i=1;i<=n;i++){res+=query(alls.size())-query(find(a[i]-x)-1);modify(find(a[i]),1);}cout<<res;}signed main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int _;//cin>>_;_ = 1;while(_--)solve();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/779257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ZZULIOJ】1011: 圆柱体表面积(Java)

目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy code 题目描述 输入圆柱体的底面半径r和高h&#xff0c;计算圆柱体的表面积并输出到屏幕上。要求定义圆周率为如下宏常量 #define PI 3.14159 输入 输入两个实数&#xff0c;为圆柱体的底面半径r和高h。 输出 输…

国内好用的chatGPT和AI绘图工具

分享一个比较好用的AI 分享一个比较好用的AI&#xff0c;只是需要开通会员&#xff0c;目前官网的价格是&#xff1a;298&#xff0c;开通之后可以使用chatgpt4、AI绘画、图片融合等等&#xff01;不开通的话是可以免费使用15次的&#xff0c;下面是一些介绍图片&#xff01;链…

UE5数字孪生系列笔记(三)

C创建Pawn类玩家 创建一个GameMode蓝图用来加载我们自定义的游戏Mode新建一个Pawn的C&#xff0c;MyCharacter类作为玩家&#xff0c;新建一个相机组件与相机臂组件&#xff0c;box组件作为根组件 // Fill out your copyright notice in the Description page of Project Set…

【python】网络编程socket TCP UDP

文章目录 socket常用方法TCP客户端服务器UDP客户端服务器网络编程就是实现两台计算机的通信 互联网协议族 即通用标准协议,任何私有网络只要支持这个协议,就可以接入互联网。 socket socke模块的socket()函数 import socketsock = socket.socket(Address Family,

Solidity Uniswap V2 Router swapTokensForExactTokens

最初的router合约实现了许多不同的交换方式。我们不会实现所有的方式&#xff0c;但我想向大家展示如何实现倒置交换&#xff1a;用未知量的输入Token交换精确量的输出代币。这是一个有趣的用例&#xff0c;可能并不常用&#xff0c;但仍有可能实现。 GitHub - XuHugo/solidit…

修改Docker Gitlab root 的密码

一、进入git docker 容器 docker exec -it [容器ID或名称] /bin/bash 二、查找并修改账号 user User.find_by(username: ‘root’) user.password ‘root********’ user.password_confirmation ‘root********’ user.save! 三、重启生效 附&#xff1a;第一次&#xff…

Golang实战:深入hash/crc64标准库的应用与技巧

Golang实战&#xff1a;深入hash/crc64标准库的应用与技巧 引言hash/crc64简介基本原理核心功能 环境准备安装Golang创建一个新的Golang项目引入hash/crc64包测试环境配置 hash/crc64的基本使用计算字符串的CRC64校验和计算文件的CRC64校验和 高级技巧与应用数据流和分块处理网…

Jmeter 配置说明之线程组

一、线程组介绍&#xff1a; 线程组元件是任何一个测试计划的开始点。在一个测试计划中的所有元件都必须在某个线程组下。所有的任务都是基于线程组&#xff1a; 通俗理解&#xff1a; 线程组&#xff1a;就是一个线程组&#xff0c;里面有若干个请求&#xff1b; 线程&am…

vue3.0 + ts + eslint报错:error Parsing error: ‘>‘ expected

eslint报错 这里加上对应的 eslint配置即可&#xff1a; parser: vue-eslint-parser, parserOptions: {parser: "typescript-eslint/parser",ecmaVersion: 2020,sourceType: module, }具体如下&#xff1a; module.exports {parser: vue-eslint-parser,parserOpti…

企业数据定制:营销/画像/大数据模型

随着信息技术的发展&#xff0c;数据已经成为企业发展的重要基石。现在信息广泛地分布在网络&#xff0c;人工收集对于企业运作来说效率太低了。 因此&#xff0c;很多企业选择将数据采集工作交给专业的团队来做&#xff0c;选择直接外包或者购买数据。 不管是哪种情况&#…

​马来语翻译中文去哪比较好?

据了解&#xff0c;马来语是马来西亚、文莱的官方语言&#xff0c;也是新加坡的官方语言之一&#xff0c;马来语跟印尼语是同一种语言&#xff0c;它在整个东南亚有着极大的影响力。如今在国内市场上&#xff0c;马来语翻译的需求也是供不应求&#xff0c;那么&#xff0c;如何…

【Go】三、Go指针

文章目录 1、指针2、说明 1、指针 &符号变量 就可以获取这个变量内存的地址*int 是一个指针类型 &#xff08;可以理解为 指向int类型的指针&#xff09; package main import("fmt" ) func main(){var age int 18//&符号变量 就可以获取这个变量内存的地…

ubuntu22 安装docker26

ubuntu22 安装docker 在Ubuntu 22.04上安装Docker&#xff0c;你可以按照以下步骤操作&#xff1a; 1.更新软件包索引&#xff1a; sudo apt-get update 2.安装必要的软件包&#xff0c;以允许apt通过HTTPS来使用仓库&#xff1a; sudo apt-get install ca-certificates c…

Flowable 笔记

目录 FlowableFlowable简介Flowable 的四大引擎Flowable BPMN 业务流程引擎Flowable DMN 决策引擎Flowable CMMN 案例模型引擎Flowable Form 表单引擎 Spring Boot集成Flowable Flowable Flowable简介 Flowable 是一个使用 Java 编写的轻量级业务流程引擎&#xff0c;使用 Ap…

第十五章 Nginx

一、Nginx 1.1 Nginx 相关概念 1.1.1 正向代理 正向代理类似一个跳板机&#xff0c;代理访问外部资源。 比如我们国内访问谷歌&#xff0c;直接访问访问不到&#xff0c;我们可以通过一个正向代理服务器&#xff0c;请求发到代理服&#xff0c;代理服务器能够访问谷歌&am…

TBSI模型论文解读及代码分析

前往我的主页以获得更好的阅读体验 简介 论文来源: Bridging Search Region Interaction With Template for RGB-T Tracking 现有的搜索算法通常会直接连接 RGB 和 T 模态搜索区域, 该方法存在大量冗余背景噪声. 而另一些方法从搜索帧中采样候选框, 对孤立的 RGB 框和 T 框进…

TongWeb7.0-8.0Java代码使用JMX获取应用通道端口

以下通过java代码实现获取TongWeb7.0/8.0应用通道端口使用到的JMX均为TongWeb自带的JMX功能。 一、TongWeb7.0 1、使用本地JMX获取应用通道端口 public String getTw7PortByLocalJmx() { try { MBeanServer beanServer ManagementFactory.getPlatformMBeanServer(); Set&l…

SOLIDWORKS二次开发参数化设计软件 慧德敏学

SOLIDWORKS参数化设计软件-SolidKits.AutoWorks专为规格变化多、变化规律强的产品开发&#xff0c;将变化规律集成到三维设计软件&#xff0c;通过一键点击实现自动化产品再设计&#xff0c;如智能选型、自动化修改产品属性、产品参数、产品状态、图纸更新、重命名、并自动打包…

计算机填空知识点(2)续20个

21&#xff0e;Windows的操作以 鼠标 操作为主&#xff0c;也可以使用 键盘 操作。 22&#xff0e;Windows的窗口可分为 应用程序窗口 、文档窗口和 对话框窗口 三类。 23&#xff0e; Windows 提供了三种菜单形式&#xff1a;一种是 窗口菜单 &#xff0c;另一种是位于任务栏…

LeetCode:300最长递增子序列 C语言

300. 最长递增子序列 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子…