P2709 小B的询问

news2024/9/24 7:15:52

*原题链接*

非常简单的莫队板子题,让我们求出区间[l,r]中每个数出现次数的平方和,设枚举到a_i,原来答案是res,如果加上a_i后,则原来的cnt_{a_i}^{2}变为(cnt_{a_i}+1)^{2},即res相比原来加上2*cnt_{a_i}+1,删除同理。知道如何维护一个数的添加和删除后,剩下的套莫队板子就行了。

#include<bits/stdc++.h>
using namespace std;
const int N=5e4+10;

int n,m,k,t,a[N],ans[N],pos[N],cnt[N],res;

struct node{
	int l,r,id;
}que[N];

bool cmp(node a,node b){
	if(pos[a.l]==pos[b.l]) return a.r<b.r;
	return a.l<b.l;
}

void del(int x){
	res+=-2*cnt[a[x]]+1;
	cnt[a[x]]--;
}

void add(int x){
	res+=2*cnt[a[x]]+1;
	cnt[a[x]]++;
}

int main(){
	
	cin>>n>>m>>k;for(int i=1;i<=n;i++) cin>>a[i];
	t=sqrt(n);for(int i=1;i<=n;i++) pos[i]=(i-1)/t+1;
	for(int i=1;i<=m;i++) cin>>que[i].l>>que[i].r,que[i].id=i;
	sort(que+1,que+1+m,cmp);
	for(int i=1,l=1,r=0;i<=m;i++){
		while(l<que[i].l) del(l++);
		while(r>que[i].r) del(r--);
		while(l>que[i].l) add(--l);
		while(r<que[i].r) add(++r);
		ans[que[i].id]=res;
	}
	for(int i=1;i<=m;i++) cout<<ans[i]<<endl;
	
	return 0;
}

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

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

相关文章

录屏软件合集【收藏版】

嘎嘎好用 为了提高办公效率&#xff0c;满足办公需求&#xff0c;我已经整理到下面了↓↓↓想要的可以自拿喔&#xff01;自行领取吧

大模型本地化部署2-Docker部署MaxKB

大模型本地化部署2-Docker部署MaxKB 0、MaxKB简介1、安装docker2、在docker中拉取MaxKB镜像3、运行镜像4、访问MaxKB5、创建应用6、使用应用进行对话 0、MaxKB简介 MaxKB是一款基于LLM大预言模型的知识库问答系统。具有以下特点&#xff1a; 多模型支持&#xff1a;支持对接主…

Qt 调用执行 Python 函数

一.环境 Qt 5.15.2 python-3.12.5 二.安装 1.安装python-3.12.5.exe 三.配置 1.设置环境变量 2.设置Qt 编译环境 3.新建Python文件 4.运行 四.源码 1.修改pro文件 2.testPy.py 注意: .py文件需要拷贝到build目录下 def myPrint(string):print(string)def ad…

抖音ip会莫名其妙变成北京吗

‌‌抖音IP会莫名其妙变成北京吗&#xff1f;抖音的IP地址可能会莫名其妙变成‌北京‌&#xff0c;这通常是由于多种原因导致的&#xff0c;包括但不限于网络连接、用户使用的网络服务提供商等问题。以下是一些可能导致这种情况发生的原因和解决方法。 原因分析&#xff1a; 网…

mysql学习下

1&#xff1a;添加数据 1.1为表中所有字段添加数据 1.1.1NSERT 语句中指定所有字段名 语法&#xff1a;INSERT INTO 表名(字段名1&#xff0c;字段名2&#xff0c;…)VALUES(值1&#xff0c;值2&#xff0c;…); 例题&#xff1a;向student表中插⼊&#xff08;id为1&#…

src-登陆框的常见测试思路

常见的登陆形式 第三方平台 OAuth 认证 用户名 密码 手机号 短信验证码 邮箱 邮件验证码 登陆框的常见测试思路 弱口令 弱口令指的是人为设定、复杂度较低的密码口令 为系统账户&#xff08;尤其是管理员账户&#xff09;设置弱口令会使得整个系统的身份认证模块…

graalvm jenkins maven 配置

1. maven 使用指定jdk编译 设置 JAVA_HOME环境变量: linux: linux: export JAVA_HOME/data/java/graalvm-jdk-22.0.29.1window: set JAVA_HOMED:\develop\Java\graalvm-jdk-22.0.29.1 2.mvn编译报错 问题 : Unable to make field private final java.util.Comparator java.…

波束搜索算法图解【Beam Search】

许多 NLP 应用程序&#xff08;例如机器翻译、聊天机器人、文本摘要和语言模型&#xff09;都会生成一些文本作为其输出。此外&#xff0c;图像字幕或自动语音识别&#xff08;即语音转文本&#xff09;等应用程序也会输出文本&#xff0c;即使它们可能不被视为纯 NLP 应用程序…

#网络高级 笔记

modbus_tcp协议 modbus_rtu协议和modbus库 http协议和web服务器搭建 服务器原码分析和基于WebServer的工业数据采集项目 第H5&#xff0c;即网页制作&#xff0c;项目完善 一、modbus起源 1.起源 Modbus由Modicon公司于1979年开发&#xff0c;是一种工业现场总线协议标准 Mo…

Harmony(鸿蒙)使用之Bugly的简单使用

Bugly环境&#xff1a;Bugly Harmony 版本&#xff0c;支持Harmony OS Next平台 开发工具版本&#xff1a;DevEco Studio NEXT Developer Beta1&#xff08;以上&#xff09;&#xff0c;API 12 步骤一、创建产品&#xff0c;填写产品相关信息 1、注册完成后&#xff0c;可在…

R 语言学习教程,从入门到精通,R 绘图 中文支持(25)

1、R 绘图 中文支持 不同系统的字体库目录&#xff1a; Linux 一般在 /usr/share/fonts 下&#xff0c;我们可以使用 fc-list 命令查看&#xff1a; # fc-list /usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:styleBold /usr/share/fonts/truetype/de…

vue事件监听

我们可以使用 v-on 指令 (简写为 ) 来监听 DOM 事件&#xff0c;并在事件触发时执行对应的 1.回车事件&#xff08;点击回车触发&#xff09; confirm 适用uni-app keyup.enter 适用vue3 运用场景&#xff1a;通常在文本框输入的时候使用 2.点击事件&#xff08;鼠标左键…

基于ZYNQ FPGA+DSP C6678坚固型高性能数据采集与运动控制系统

基于FPGADSP的实时控制系统架构的坚固型高性能运动控制器&#xff0c;支持多通道并行同步实时高速采样&#xff0c;并直接通过底层逐点传递给DSP算法处理&#xff0c;以保证实时性&#xff0c;可以实现高速的逐点控制输出&#xff0c;确保了控制系统能够在多输入多输出高速控制…

PDF文件的读取与合并:使用PyPDF2与ReportLab

目录 一、PyPDF2库基础 1.1 PyPDF2简介 1.2 安装PyPDF2 1.3 读取PDF内容 1.4 合并PDF文件 二、ReportLab库基础 2.1 ReportLab简介 2.2 安装ReportLab 2.3 使用ReportLab生成PDF文本 2.4 ReportLab 与 PyPDF2 结合使用 三、注意事项与最佳实践 3.1 文本提取的局限性…

HW数通IA笔记2-网络参考模型

目录 零、本章主要内容 一、应用和数据 二、网络参考模型与标准协议 2.2 TCP/IP参考模型 2.3 TCP/IP常见协议 2.3.1 应用层 2.3.2 传输层 2.3.3 网络层 2.3.4 数据链路层 2.3.5 物理层 2.4 常见的协议标准化组织 三、数据的通信过程 零、本章主要内容 1、理解数据的…

高级MySQL数据库备份脚本

高级MySQL数据库备份脚本 主要功能项目构成credentials.txtsettings.confmysql-dump.sh SFTP备份配置&#xff1a;生成 SSH 密钥对将公钥复制到 SFTP 服务器测试无密码登录 邮件发送配置安装插件sendmail、mailx修改mail配置获取邮箱授权码 如何执行备份执行备份脚本计划每日的…

【数据结构-前缀异或和】力扣1371. 每个元音包含偶数次的最长子字符串

给你一个字符串 s &#xff0c;请你返回满足以下条件的最长子字符串的长度&#xff1a;每个元音字母&#xff0c;即 ‘a’&#xff0c;‘e’&#xff0c;‘i’&#xff0c;‘o’&#xff0c;‘u’ &#xff0c;在子字符串中都恰好出现了偶数次。 示例 1&#xff1a; 输入&…

PyCharm 自定义字体大小

常用编程软件自定义字体大全首页 文章目录 前言具体操作1. 打开设置对话框2. 设置编辑器字体3. 选择外观字体 前言 PyCharm 自定义字体大小&#xff0c;统一设置为 JetBrains Mono 具体操作 【File】>【Settings...】>【Editor】>【Font】 统一设置为字体样式 JetB…

JVM上篇:内存与垃圾回收篇-13-垃圾回收器

笔记来源&#xff1a;尚硅谷 JVM 全套教程&#xff0c;百万播放&#xff0c;全网巅峰&#xff08;宋红康详解 java 虚拟机&#xff09; 文章目录 13. 垃圾回收器13.1. GC 分类与性能指标13.1.1. 垃圾回收器概述13.1.2. 垃圾收集器分类13.1.3. 评估 GC 的性能指标吞吐量暂停时间…

X86架构(五)——栈操作与寻址操作

我们先采用 X86架构(四) 所学知识&#xff0c;在显示器上显示 123...100 ;代码清单7-1;文件名&#xff1a;c07_mbr.asm;文件说明&#xff1a;硬盘主引导扇区代码;创建日期&#xff1a;2011-4-13 18:02jmp near __startmessage db 123...100 __start:mov ax, 0x7c0 ;数据段基…