C. Sequence Pair Weight(数学贡献法)

news2025/2/5 9:12:31

Problem - 1527C - Codeforces

序列的权重被定义为具有相同值(ai=aj)的无序索引对(i,j)(这里i<j)的数量。例如,序列a=[1,1,2,2,1]的权重是4,具有相同值的无序索引对的集合是(1,2),(1,5),(2,5),和(3,4)。

给你一个n个整数的序列a。打印a的所有子段的权重之和。

一个序列b是一个序列a的子段,如果b可以从a中删除几个(可能是零或全部)元素的开始和几个(可能是零或全部)元素的结束而得到。

输入
每个测试包含多个测试用例。第一行包含测试用例的数量t(1≤t≤105)。测试用例的描述如下。

每个测试用例的第一行包含一个单一的整数n(1≤n≤105)。

每个测试用例的第二行包含n个整数a1,a2,...,an(1≤ai≤109)。

保证所有测试用例的n之和不超过105。

输出
对于每个测试案例,打印一个整数--a的所有子段的权重之和。

例子
inputCopy
2
4
1 2 1 1
4
1 2 3 4
输出拷贝
6
0
注意
在测试案例1中,序列[1,2,1,1]的所有可能的大小超过1的子段是。
[1,2]有0个有效的无序对。
[2,1]有0个有效的无序对。
[1,1]有1个有效的无序对。
[1,2,1]有1个有效的无序对。
[2,1,1]有1个有效的无序对。
[1,2,1,1]有3个有效的无序对。
答案是6。
在测试案例2中,序列的所有元素都是不同的。因此,没有任何一个子数的有效无序对具有相同的值。答案是0。

题解:

假如我们有n个数字

a1,a2,a3,..ai..aj...an

如果ai = aj,那么含有这两个元素的子串就是对答案有贡献的

此时的贡献应该为i * (n - j + 1)

但是如果后面又有一个ak = aj呢?

后面应该还是n - k + 1

那对于前面来说我们可以以前出现过的记录相加

f[ai] += i

每次对答案的贡献就应该是ans += f[a[i]]*(n- i + 1) 

#include<iostream>
#include<algorithm>
#include<string>
#include<queue>
#include<vector>
#include<map>
#include<cstring>
#include<cmath>
#include<set>
using namespace std;
#define int long long
int a[200050];
int b[200050];
void solve()
{
	int n;
	cin >> n;
	map<int,int> f;
	int ans = 0;
	for(int i = 1;i <= n;i++)
	{
		int x;
		cin >> x;
		int y = n - i + 1;
		ans += f[x]*y;
		f[x] += i;
	} 
	cout << ans <<"\n";
}
//101
signed main()
{
//	ios::sync_with_stdio(false);
//	cin.tie(0);
//	cout.tie(0);
	int t = 1;
	cin >> t;
    while(t--)
	{
		solve();
	} 
}

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

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

相关文章

结构篇-适配器模式

文章目录一、跨越鸿沟靠适配二、插头与插孔的冲突1.三相插孔接口2.两相插孔接口3.电视机机类TV4.客户端类二、通用适配1. 适配器2.客户端类三、专属适配1.电视机专属适配器2.客户端类总结1. 对象适配器2. 类适配器总结适配器模式(Adapter)通常也被称为转换器&#xff0c;顾名思…

数字孪生炒得火热,但好像对企业发展还没有任何实质性的突破,是否只是表面功夫?

首先&#xff0c;什么是数字孪生&#xff1f; ​ 数字孪生是充分利用物理模型、传感器更新、运行历史等数据&#xff0c;集成多学科、多物理量、多尺度、多概率的仿真过程&#xff0c;在虚拟空间中完成映射&#xff0c;从而反映相对应的实体装备的全生命周期过程。数字孪生是一…

const成员,流插入,流提取重载,初始化列表!(6千字长文详解!)

c详解之const成员&#xff0c;流插入&#xff0c;流提取重载&#xff0c;初始化列表&#xff01; 文章目录c详解之const成员&#xff0c;流插入&#xff0c;流提取重载&#xff0c;初始化列表&#xff01;<< 流插入 和 >> 流提取的重载解决共有成员函数问题链式访问…

实用!7个强大的Python机器学习库!⛵

&#x1f4a1; 作者&#xff1a;韩信子ShowMeAI &#x1f4d8; 机器学习实战系列&#xff1a;https://www.showmeai.tech/tutorials/41 &#x1f4d8; 本文地址&#xff1a;https://www.showmeai.tech/article-detail/412 &#x1f4e2; 声明&#xff1a;版权所有&#xff0c;转…

如何借助扬尘视频监测系统开展扬尘污染防控工作?

一、方案背景 目前&#xff0c;跟随国家快速发展的步伐&#xff0c;城市化建设也在飞速发展&#xff0c;各种建设工程遍地开花。如何更好抵管理施工扬尘&#xff0c;杜绝各种违规及不文明现象&#xff0c;一直是施工企业、政府管理部门关注的焦点。 二、系统介绍 环境扬尘视频…

手把手教你一套完善且高效的k8s离线部署方案

作者&#xff1a;郝建伟 背景 面对更多项目现场交付&#xff0c;偶而会遇到客户环境不具备公网条件&#xff0c;完全内网部署&#xff0c;这就需要有一套完善且高效的离线部署方案。 系统资源 编号主机名称IP资源类型CPU内存磁盘01k8s-master110.132.10.91CentOS-74c8g40g0…

SkeyeVSS储备地块可视化管理信息系统 助力土地批后全程监管解决方案

一、方案背景 近年来&#xff0c;储备地块经常遭遇倾倒渣土、隐蔽性私搭乱建等违法行为的侵害&#xff0c;在违法行为发生之后又面临追责难度大、效率低的问题&#xff0c;因此可视化监管系统的建设将有效地解决单纯靠人力巡查、巡查时间长、巡查效率低以及发现侵害行为后追责…

阿里云轻量服务器--Docker--Mqtt(eclipse-mosquitto)安装

1 获取镜像&#xff1a; docker pull eclipse-mosquitto:1.6.14查看获取的镜像&#xff1a; docker images 2 安装&#xff1a; 2.1 新建日志和数据目录&#xff1a; # 配置文件存放 mkdir -p /root/mosquitto/config # 数据文件存放 mkdir -p /root/mosquitto/data # 日志文…

安全智能分析技术 神经网络架构搜索

神经网络架构搜索 定义内涵 神经网络架构搜索是为给定数据集自动找到一个或多个架构的任务&#xff0c;这些架构将为给定 的数据集生成具有良好结果的模型&#xff0c;其本质是在高维空间的最优参数搜索问题。 技术背景 深度学习模型的使用越来越大众化&#xff0c;在很多行…

论多线程之中断篇

线程中断一. 启动线程的方式二. 安全中断三. 线程的补充知识3.1 线程常用方法和线程的状态&#xff1a;3.2 线程的优先级概念&#xff1a;一. 启动线程的方式 新启线程的方式 继承Thread类实现Runnable接口&#xff0c;实际上也是通过Thread类来进行线程的操作的 package cn.…

嵌入式:数据处理指令详解

文章目录数据处理指令的特点数据处理指令的汇编格式数据处理指令&#xff0d;指令表&#xff08;1&#xff09;ADD、ADC、SUB、SBC、RSB和RSC&#xff08;2&#xff09;AND、ORR、EOR和BIC&#xff08;3&#xff09;MOV和MVN&#xff08;4&#xff09;CMP和CMN&#xff08;5&am…

如何下载及安装BIGEMAP GIS Office

如何下载及安装BIGEMAP GIS Office 发布时间&#xff1a;2018-01-17 版权&#xff1a; 本产品支持主流winodws操作系统&#xff08;xp sp3,vista,windows 7,windows 8及windows 10 11&#xff09;&#xff0c; 可通过访问Bigemap官网(BIGEMAP-卫星地图_高清卫星地图制图软件_…

791068-69-4,肾素的FRET底物

FRET substrate for renin. excitation at 340 nm, emission at 490 nm.肾素的FRET底物。激发波长为340 nm&#xff0c;发射波长为490 nm。 编号: 182722中文名称: Renin Substrate 1英文名: Renin Substrate 1CAS号: 791068-69-4单字母: H2N-R-E(Edans)-IHPFHLVIHT-K(Dabcyl)-…

PDF如何加密码保护?分享PDF加密的简单方法

PDF 通常是只读的&#xff0c;但如果收件人有特定的编辑软件&#xff0c;它们仍然可以修改&#xff0c;因此当您发送或共享 PDF 文档时&#xff0c;您可能希望使用密码对其进行保护。这样&#xff0c;未经您的许可&#xff0c;任何人都无法读取文件。 如何使用密码保护 pdf 文档…

什么是SD-WAN,它如何改变传统网络?

近年来&#xff0c;网络的构建、管理和运行方式发生了重大变化。许多 IT 管理员现在正在用更高级的网络概念和策略取代传统的网络组件和传统技术。例如&#xff0c;他们越来越依赖网络容器化、自动化、软件定义网络 &#xff08;SDN&#xff09; 和云计算等概念来简化网络。 这…

网络安全和信息化条例

神经网络架构搜索 定义内涵 神经网络架构搜索是为给定数据集自动找到一个或多个架构的任务&#xff0c;这些架构将为给定 的数据集生成具有良好结果的模型&#xff0c;其本质是在高维空间的最优参数搜索问题。 技术背景 深度学习模型的使用越来越大众化&#xff0c;在很多行…

数据处理指令

目录 一、指令 1.1 数据处理指令:数学运算、逻辑运算 1.1.1数据搬移指令 1.1.2机器码 1.1.3立即数 1.1.4数据运算指令基本格式 1.1.5加法指令 1.1.6减法指令、逆向减法指令、乘法指令 1.1.7位运算&#xff08;逻辑运算&#xff09; 1.1.8格式扩展 1.1.9数据运算指令对条…

面试官:Spring Bean的生命周期,你知道吗?

小熊学Java网站&#xff1a;https://javaxiaobear.gitee.io/&#xff0c;每周持续更新干货&#xff0c;建议收藏&#xff01; bean 的生命周期从调用 beanFactory 的 getBean 开始&#xff0c;到这个 bean 被销毁&#xff0c;可以总结为以下七个阶段&#xff1a; 处理名称&…

Aosp系统编译定制系统签名

商业化产品,如果使用默认的签名,一是不安全,而是显得没啥技术。就连谷歌官方也说了,不建议使用testkey作为最终发布版的key,因此,定制系统签名就派上用场了。 具体使用方法谷歌给了一个大致的说法,我们可以在aosp的自述文件中找到,位置位于build\target\product\secur…

建议收藏:数字后端笔试题,含解析

能力归能力&#xff0c;面试归面试&#xff0c;你永远不会知道面试官抛出来的会是什么样的问题。 经历了无数的笔试面试之后&#xff0c;发现数字IC的笔试面试还是有很对共通之处和规律可循的。 之前芯博士为大家分享了一些数字IC面试题&#xff0c;有不少小伙伴私信我&#…