牛客:xay loves count与1LL的用法

xay loves count

题目描述

登录—专业IT笔试面试备考平台_牛客网

运行代码

#include <bits/stdc++.h>
using namespace std;int main() {ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);int n;cin >> n;int a[1000005] = {0};int cnt[1000005] = {0};for (int i = 0; i < n; ++i) {cin >> a[i];cnt[a[i]]++;}long long ans = 0;for (int i = 1; i <= 1000000; ++i) {if (cnt[i]) {for (int j = 1; i * j <= 1000000; ++j) {ans += 1LL * cnt[i] * cnt[j] * cnt[i * j];}}}cout << ans << '\n';return 0;
}

代码思路

  1. 输入读取:读取数组长度 n 和数组 a。使用一个数组 cnt 来记录每个值在数组 a 中出现的次数。使用 ios::sync_with_stdio(false); 和 cin.tie(nullptr); 优化输入输出速度。读取数组长度 n 和数组 a。使用 cnt 数组记录每个值在数组 a 中出现的次数。

  2. 预处理:遍历数组 a,更新 cnt 数组。初始化 ans 为 0,用于存储满足条件的三元组数量。遍历所有可能的 i,如果 cnt[i] 不为 0,继续遍历所有可能的 j。计算 i * j,如果 i * j 在范围内(不超过 1000000),累加 cnt[i] * cnt[j] * cnt[i * j] 到 ans

  3. 计算满足条件的三元组:遍历所有可能的 i 和 j,计算ai​×aj​。检查ai​×aj​ 是否在数组 a中存在,如果存在,累加对应的次数。

  4. 数组初始化:使用 {0} 初始化数组 a 和 cnt,确保所有元素初始为 0。

  5. 循环优化:外层循环遍历 i,内层循环遍历 j,确保 i * j 不超过 1000000。

  6. 类型转换:使用 1LL 进行类型转换,确保乘法操作不会溢出。

1LL的用法

用法描述

1LL 是一个常量,表示一个长整型(long long)类型的数字 1。在 C++ 中,使用 1LL 进行类型转换是为了确保在进行乘法运算时,中间结果不会溢出。

在 C++ 中,整数常量默认是 int 类型。当进行乘法运算时,如果操作数都是 int 类型,结果也会是 int 类型。如果结果超出了 int 类型的范围,会导致溢出。为了避免这种情况,可以使用 1LL 将其中一个操作数强制转换为 long long 类型,从而确保整个表达式的计算都在 long long 范围内进行。

代码示例

int a = 100000;
int b = 100000;
int c = 100000;
long long result = a * b * c;

在这个例子中,a * b * c 的中间结果可能会超过 int 类型的最大值(通常是 2147483647),导致溢出。即使最终结果需要存储在 long long 类型的变量中,中间结果的溢出仍然会影响最终结果的正确性。

int a = 100000;
int b = 100000;
int c = 100000;
long long result = 1LL * a * b * c;

1LL 将第一个操作数 a 强制转换为 long long 类型,从而使整个表达式的计算都在 long long 范围内进行,避免了中间结果的溢出。

1LL 是一个常量,表示一个 long long 类型的数字 1。在乘法运算中使用 1LL 可以确保中间结果不会溢出,从而保证计算的正确性。

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

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

相关文章

Linux内核启动过程2

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。关…

en造数据结构与算法C# 之 动态规划

动态规划 动态规划和分治法很像&#xff0c;都是拆解问题解决 分治法常用递归算法来写&#xff0c;但是动态规划和分治法的最大不同就是存入值 &#xff0c;AI真方便 钢条切割问题 其实该问题最平常&#xff0c;也是最直接的思想就是先把前项最赚米的方案总结出来&…

JDBC: 连接池

文章目录 没有连接池的现状连接池解决现状问题的原理连接池好处常用连接池的介绍Druid连接池DRUID简介Druid常用的配置参数Druid连接池基本使用API介绍 案例代码 没有连接池的现状 通过下图来分析一下我们目前jdbc程序的结构。 以前使用的jdbc的缺点&#xff1a; 1、操作数据库…

SeaTunnel如何创建Socket数据同步作业?

本文为Apache SeaTunnel Socket Connector的使用文档&#xff0c;旨在帮助用户快速理解和有效利用Socket Connector&#xff0c;助力用户的应用程序实现高效、稳定的网络通信。 Socket是应用层与TCP/IP协议族之间进行通信的中间软件抽象层&#xff0c;它是网络编程的基础&…

Vue工程化结构环境安装及搭建教程 : 之nvm

vue需要的环境&#xff1a; node.js : Node.js和Vue.js通常会一起使用。Node.js作为后端服务器&#xff0c;处理服务器端的逻辑和数据访问&#xff0c;而Vue.js则负责前端用户界面的构建和交互。通过Ajax通信&#xff0c;Vue.js应用程序向Node.js服务器发送请求&#xff0c;并…

扩展、包含、泛化-系统架构师(七十七)

1&#xff08;&#xff09;是系统分析阶段结束后得到的工作产品&#xff0c;&#xff08;&#xff09;是系统测试阶段完成后的工作产品。 问题1 A系统设计规格说明 B系统方案建议书 C系统规格说明 D单元测试数据 问题2 A验收测试计划 B测试标准 C系统测试计划 D操作手…

基于STM32单片机的配电室环境监测系统

本设计了一个基于STM32单片机的配电室环境监测系统。该系统可以实现配电室环境温湿度检测、烟雾浓度检测和火焰信息检测&#xff0c;这主要是为了防止火灾发生&#xff1b;本系统还加入了红外人体检测模块&#xff0c;可以检测配电室周围是否有行人经过&#xff0c;最终将传感器…

极狐GitLab 发布安全补丁版本 17.4.1、17.3.4、17.2.8

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料&#xff1a; 极狐GitLab 官网极狐…

Autodesk Flame 2025:视觉特效制作解决方案

Autodesk Flame 2025是一款功能强大的视觉特效制作解决方案&#xff0c;由Autodesk公司开发。它提供了出色的性能&#xff0c;为视觉特效艺术家成功完成制作项目提供了所需的交互性和灵活性。 以下是Autodesk Flame 2025的一些主要特点和功能&#xff1a; 高效的三维合成环境&…

基于BERT的深度强化学习求解图上的组合优化问题(未完)

文章目录 Abstract1 Introduction2 文献综述2.1 相关的深度学习方法2.2 基于强化学习的方法3 Methodology3.1 问题定义和预备知识3.2 策略网络架构Abstract 组合优化,如图上的车辆路径和旅行商问题,是NP-hard问题,几十年来一直被研究。已经提出了许多方法来解决这些问题,包…

SSM高校体育器材管理系统-计算机毕业设计源码48197

摘 要 如今计算机行业的发展极为快速&#xff0c;搭载于计算机软件运行的数据库管理系统在各行各业得到了广泛的运用&#xff0c;其在数据管理方面具有的准确性和高效性为大中小企业的日常运营提供了巨大的帮助。在高校体育器材管理系统中&#xff0c;一开始对体育器材的管理…

python迭代器和生成器区别是什么

python中迭代器和生成器的区别 1、共同点 生成器是一种特殊的迭代器。 2、不同点 a、语法上&#xff1a; 生成器是通过函数的形式中调用 yield 或&#xff08;&#xff09;的形式创建的。 迭代器可以通过 iter&#xff08;&#xff09; 内置函数创建。 b、用法上&#x…

加密软件有哪些?2024年十大好用的企业文件加密软件大盘点

随着数字化转型的加速&#xff0c;企业面临的数据安全威胁日益增加。为防止敏感数据泄露&#xff0c;企业文件加密已成为保护公司机密信息的必要手段。以下是2024年十大好用的企业文件加密软件大盘点&#xff0c;帮助企业在复杂的数字环境中确保数据安全。 1.安秉加密软件 安秉…

WPF中的内容控件

控件分类 在第一篇文章.Net Core和WPF介绍中的WPF的功能和特性部分根据功能性介绍了WPF的控件 名称。 在接下来的文章中&#xff0c;将会详细的介绍各个控件的概念及使用。 主要包括&#xff1a; 内容控件&#xff1a;Label、Button、CheckBox、ToggleButton、RadioButton、…

几何建模基础-拓扑结构介绍

1.什么是拓扑&#xff1f; 拓扑是研究几何图形或空间在连续改变形状后还能保持不变的一些性质的一个学科。它只考虑物体间的位置关系而不考虑它们的形状和大小。 Body对象的拓扑可以理解为面&#xff08;Face&#xff09;与边&#xff08;Edge&#xff09;、边&#xff08; E…

fmql之Linux设备驱动框架

设备驱动框架 正点原子第39章---LED驱动框架 测试 成功&#xff1a; 贴代码 &#xff08;不需要测试APP&#xff09; /***************************************************************Copyright © ALIENTEK Co., Ltd. 1998-2029. All rights reserved.文件名 : le…

Copilot重磅更新!OneDrive全新功能炸裂

今天早上一打开onedrive&#xff0c;就发现了弹窗提醒&#xff0c;它&#xff0c;终于来了&#xff1a; copilot in onedrive全新功能来袭&#xff01; 当我们在onedrive中随意选择一个文件&#xff0c;顶部功能栏便出现了copilot按钮&#xff1a; 点击按钮后出现三个选项&…

Tauri 2.0 稳定版发布

Tauri 2.0 稳定版发布 Tauri 是什么&#xff1f; Tauri 应用程序的前端使用您喜欢的 Web 前端栈编写。它在操作系统的 WebView 中运行&#xff0c;并与主要用 Rust 编写的应用核心进行通信。 我何时应该使用 Tauri&#xff1f; 如下任一一项符合&#xff0c;你应该使用 Ta…

立体扬声器棒球帽专利TRO维权,速查避免踩坑

案件基本情况起诉时间&#xff1a;2024-9-18案件号&#xff1a;24-cv-08626原告&#xff1a;Audiowear Technology Corporation原告律所&#xff1a;Loza & Loza, LLP起诉地&#xff1a;伊利诺伊州北部法院品牌介绍Audiowear Technology Corporation&#xff0c;一家位于特…

SpringMVC框架:入门讲解和基础案例解析

Spring Web MVC是什么&#xff1f; Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架。使用了MVC架构模式的思想&#xff0c;将web层进行职责解耦&#xff0c;基于请求驱动指的就是使用请求-响应模型 。框架的目的就是帮助我们简化开发&…