acwing1291题解(约数)

今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏.

贝茜让 N头奶牛(编号 11 到 N)坐成一个圈。

除了 11 号与 N 号奶牛外,i 号奶牛与 i−1 号和 i+1 号奶牛相邻,N号奶牛与 11 号奶牛相邻。

农夫约翰用很多纸条装满了一个桶,每一张纸条中包含一个 11 到 10000001000000 之间的数字。

接着每一头奶牛 i 从桶中取出一张纸条,纸条上的数字用 Ai 表示。

所有奶牛都选取完毕后,每头奶牛轮流走上一圈,当走到一头奶牛身旁时,如果自己手中的数字能够被该奶牛手中的数字整除,则拍打该牛的头。

牛们希望你帮助他们确定,每一头奶牛需要拍打的牛的数量。

即共有 N 个整数 A1,A2,…,AN1,2,…,对于每一个数 Ai,求其他的数中有多少个是它的约数。

输入格式

第一行包含整数 N。

接下来 N 行,每行包含一个整数 Ai。

输出格式

共 N 行,第 i 行的数字为第 i头牛需要拍打的牛的数量。

数据范围

1≤N≤105,
1≤Ai≤106

输入样例:
5
2
1
2
3
4
输出样例:
2
0
2
1
3

思路:

如果两层循环枚举,会超时。

我们可以记录每个数出现的次数,然后找每种数出现的倍数,时间复杂度为(nlogn)

代码:

#define _CRT_SECURE_NO_WARNINGS 
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<math.h>
#include<unordered_map>
#include<map>
using namespace std;
#define LL  long long
const int N = (int)1e6 + 5;
const long long  mod = (LL)100003;
#define  rep(i,a,b) for (int i = a; i <= b; i++) 
#define per(i, a, b) for(int  i=a;i>=b;i--)
int T;
int n;
int a[N], b[N], maxx, x, c[N];
int main()
{
    cin >> n;
    rep(i, 1, n)
        scanf("%d", &a[i]), c[a[i]]++;
    rep(i, 1, 1e6)
    {
        for (int j =i; j <= 1e6; j += i)
            b[j] += c[i];
    }
    rep(i, 1, n)
        printf("%d\n", b[a[i]] - 1);
    return 0;
}

 

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

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

相关文章

复习Day08:哈希表part01:242.有效的字母异位词、349. 两个数组的交集、1. 两数之和、160. 相交链表

之前的blog&#xff1a;https://blog.csdn.net/weixin_43303286/article/details/131765317 我用的方法是在leetcode再过一遍例题&#xff0c;明显会的就复制粘贴&#xff0c;之前没写出来就重写&#xff0c;然后从拓展题目中找题目来写。辅以Labuladong的文章看。然后刷题不用…

2023年中国家用智能门锁市场发展概况分析:家用智能门锁线上市场销量290.4万套[图]

智能门锁是指区别于传统机械锁的基础上改进的&#xff0c;在用户安全性、识别、管理性方面更加智能化简便化的锁具。智能门锁是门禁系统中锁门的执行部件。智能门锁区别于传统机械锁, 是具有安全性, 便利性, 先进技术的复合型锁具。 智能门锁级别分类 资料来源&#xff1a;共研…

Linux使用之xshell、xftp保姆教学(含安装包,详细使用方法,连接失败解决方法)

前言 链接: FTP&#xff0c;SSH服务器介绍 这是我之前写的一篇博客&#xff0c;其中介绍了Ubuntu操作系统的一些常用命令以及服务器介绍&#xff0c;这篇文章就向大家详细介绍如何安装及应用这些服务器&#xff0c;我以xshell、xftp为例。 安装包&#xff0c;使用方法&#xf…

优化思考二

优化思考一_云湖在成长的博客-CSDN博客 翻到了两年前写文章&#xff0c;有了不一样的观点。 先说一样的想法吧&#xff1a;数据&#xff08;输入&#xff09;>>优化模型&#xff08;处理&#xff09;>>结果方案&#xff08;输出&#xff09;。优化是其中最重要的…

竞赛选题 大数据商城人流数据分析与可视化 - python 大数据分析

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于大数据的基站数据分析与可视化 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度…

Python - 等待异步函数完成

本文介绍如何创建异步函数并使用 await 关键字中断进程。 我们还将学习如何在 Python 中使用任务而不是线程。 使用 await 关键字并创建一个异步函数 异步编程不是多线程; 它不是多处理而是并发编程。 我们不会讨论并发编程的整个思想和整个编码模式,但我们会讨论基本原理以…

C/C++ 数据结构 - 链表

1.单链表 https://blog.csdn.net/qq_36806987/article/details/79858957 1 #include<stdio.h>2 #include<stdlib.h>3 4 /*结构体部分*/5 typedef struct Node6 {7 int data; //数值域8 struct Node *next; //指针域9 }N;10 11 N *Init() //初始化单…

unicode/utf8/utf16/utf32笔记

unicode表示的字符范围是0x0000~0x10FFFF&#xff0c;最多只需要有21位&#xff0c;但是为了字节对齐&#xff0c;所以最多需要32位(4字节) utf8/utf16/utf32都是表示unicode的一种编码方式。 utf8和utf16是变长编码&#xff0c;utf32不变长。utf-8编码长度为1&#xff0c;2&a…

Windows电脑上的多开软件:常见的有哪些?

在使用Windows电脑时&#xff0c;我们经常需要同时打开多个应用程序或者软件&#xff0c;但是Windows操作系统自带的多任务处理功能有时候不能完全满足我们的需求&#xff0c;因此多开软件就显得比较必要了。下面就来介绍一些常见的Windows电脑上的多开软件。 Safeboxie多开器&…

力扣-350.两个数组的交集||

Idea 首先遍历第一个数组&#xff0c;用哈希表存储每个数字及其出现的次数。 然后遍历第二个数组&#xff0c;每出现重复的数字&#xff0c;并判断该数字在哈希表的次数是不是大于0&#xff0c;如果大于则存入答案数组&#xff0c;并将哈希表次数减1&#xff0c;直接遍历结束。…

使用 Telegraf 进行综合监控

Telegraf 可以使用特定于应用程序的插件&#xff08;例如 NGINX 或 MySQL 的插件&#xff09;收集许多白盒指标&#xff0c;并且您可以使用 InfluxDB 客户端库来检测您的应用程序&#xff0c;但我们也可以使用 Telegraf 作为综合监控工具来监控我们的状态来自外部的系统。 HTT…

【强化学习】05 —— 基于无模型的强化学习(Prediction)

文章目录 简介蒙特卡洛算法时序差分方法Example1 MC和TD的对比偏差&#xff08;Bias&#xff09;/方差&#xff08;Variance&#xff09;的权衡Example2 Random WalkExample3 AB 反向传播(backup)Monte-Carlo BackupTemporal-Difference BackupDynamic Programming Backup Boot…

(unordered)map和set封装(底层红黑树)

map和set封装 文章目录 map和set封装设计问题&#xff08;知其所以然&#xff09;为什么要对iterator进行封装&#xff1f;为什么要引入Self Ref Ptr这些模板参数&#xff1f;为什么是试图从non_const转变为const&#xff0c;而不是const转为non_const如何解决 为什么说能加con…

【Java 进阶篇】JDBC PreparedStatement 详解

在Java中&#xff0c;与关系型数据库进行交互是非常常见的任务之一。JDBC&#xff08;Java Database Connectivity&#xff09;是Java平台的一个标准API&#xff0c;用于连接和操作各种关系型数据库。其中&#xff0c;PreparedStatement 是 JDBC 中一个重要的接口&#xff0c;用…

[QT编程系列-43]: Windows + QT软件内存泄露的检测方法

目录 一、如何查找Windows程序是否有内存泄露 二、如何定位Windows程序内存泄露的原因 二、Windows环境下内存监控工具的使用 2.1 内存监测工具 - Valgrind 2.2.1 Valgrind for Linux 2.2.2 Valgrind for Windows 2.2 内存监测工具 - Dr. Memory 2.2.1 特点 2.2.2 安装…

FileZila 实现wind10与Linux系统文件互传

【FileZila】实现windows与Linux系统文件互传

WebExceptionHandler详解

WebExceptionHandler 是 Spring Framework 中的一个接口&#xff0c;它用于处理 Web 应用程序中的异常。具体来说&#xff0c;WebExceptionHandler 主要用于处理在处理 HTTP 请求时可能发生的异常&#xff0c;并返回适当的响应给客户端。 在 Spring 框架中&#xff0c;WebExce…

2310d模板替换运行时

原文 上周,我开始从我之前的PR中的_d_newarray{i,}T实现开始,把_d_newarraym{i,}T转换为模板.目前,我已实现了新勾挂并更新了降级,但在编译器中遇见了一些测试失败. 修复它们之前,出现了该错误,它是因为我降级到_d_arrayappend{T,cTX}引起的. 我前段时间处理了这些勾挂,并用AS…

GD32F103x IIC通信

1. IIC通信 1.IIC的介绍 IIC总线有两条串行线&#xff0c;其一是时钟线SCK&#xff08;同步&#xff09;&#xff0c;其二是数据线SDA。只有一条数据线属于半双工。应用中&#xff0c;单片机常常作为主机&#xff0c;外围器件可以挂载多个。&#xff08;当然主机也可以有多个。…

Java之原子性问题的解决

2. 原子性 2.1 volatile-问题 代码分析 : package com.itheima.myvolatile; ​ public class Demo {public static void main(String[] args) {MyThread1 t1 new MyThread1();t1.setName("小路同学");t1.start(); ​MyThread2 t2 new MyThread2();t2.setName(&q…