【每日一题】—— D. Divide and Equalize(Codeforces Round 903 (Div. 3))(数学、数论)

🌏博客主页:PH_modest的博客主页
🚩当前专栏:每日一题
💌其他专栏:
🔴 每日反刍
🟡 C++跬步积累
🟢 C语言跬步积累
🌈座右铭:广积粮,缓称王!

一.题目描述

在这里插入图片描述

题目大意:

给你一个由 n n n 个正整数组成的数组 a a a 。你可以对它进行以下操作:

  1. 选择一对元素 a i a_i ai a j a_j aj 1 ≤ i , j ≤ n 1 \le i, j \le n 1i,jn i ≠ j i \neq j i=j );
  2. 选择整数 a i a_i ai 的除数之一,即整数 x x x ,使得 a i m o d x = 0 a_i \bmod x = 0 aimodx=0
  3. a i x \frac{a_i}{x} xai 代替 a i a_i ai ,用 a j ⋅ x a_j \cdot x ajx 代替 a j a_j aj
    判断是否有可能通过一定次数(可能为零)的运算使数组中的所有元素都相同。
    例如,数组 a a a = [ 100 , 2 , 50 , 10 , 1 100, 2, 50, 10, 1 100,2,50,10,1 /]包含 5 5 5 个元素。对它进行两次运算:
  4. 选择 a 3 = 50 a_3 = 50 a3=50 a 2 = 2 a_2 = 2 a2=2 , x = 5 x = 5 x=5 .用 a 3 x = 50 5 = 10 \frac{a_3}{x} = \frac{50}{5} = 10 xa3=550=10 替换 a 3 a_3 a3 ,用 a 2 ⋅ x = 2 ⋅ 5 = 10 a_2 \cdot x = 2 \cdot 5 = 10 a2x=25=10 替换 a 2 a_2 a2 。得到的数组是 a a a = [ 100 , 10 , 10 , 10 , 1 100, 10, 10, 10, 1 100,10,10,10,1 ];
  5. 选择 a 1 = 100 a_1 = 100 a1=100 a 5 = 1 a_5 = 1 a5=1 , x = 10 x = 10 x=10 .用 a 1 x = 100 10 = 10 \frac{a_1}{x} = \frac{100}{10} = 10 xa1=10100=10 替换 a 1 a_1 a1 ,用 a 5 ⋅ x = 1 ⋅ 10 = 10 a_5 \cdot x = 1 \cdot 10 = 10 a5x=110=10 替换 a 5 a_5 a5 。得到的数组是 a a a = [ 10 , 10 , 10 , 10 , 10 10, 10, 10, 10, 10 10,10,10,10,10 ]。
    进行这些运算之后,数组 a a a 中的所有元素都等于 10 10 10

题目链接:

D. Divide and Equalize(Codeforces Round 903 (Div. 3))

二.思路分析

  1. 题目的意思就是将一个数的因子给另一个数,使得最后数字要相同
  2. 也就是说最后每个数的因子都是一样的
  3. 所以只需要分解每个数,最后判断一下每个因子的个数是不是n的倍数就可以了

三.代码展示

//https://codeforces.com/contest/1881/problem/D
//分解所有的数,如果最后所有因子都是n的倍数,那就是yes
//
#include<iostream>
#include<algorithm>
#include<string>
#include<map>
#include<queue>
#include<vector>
#include<cstring>
#define int long long
using namespace std;void solve()
{map<int,int>mp;int n;cin>>n;for(int i=0;i<n;i++){int a;cin>>a;for(int j=2;j*j<=a;j++){while(a%j==0){mp[j]++;a/=j;}}mp[a]++;}for(auto x:mp){if(x.first<=1){continue;}if(x.second%n!=0){cout<<"NO"<<"\n";return;}}cout<<"Yes"<<"\n";
}
signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t;cin>>t;while(t--){solve();}return 0;
}

最后:

每日一题系列旨在养成刷题的习惯,所以对代码的解释并不会特别详细,但足够引导大家写出来,选的题目都不会特别难,但也不是特别简单,比较考验大家的基础和应用能力,我希望能够将这个系列一直写下去,也希望大家能够和我一起坚持每天写代码。

之后每个星期都会不定期更新codeforces和atcoder上的题目,想要学习算法的友友们千万别错过了,有什么疑问欢迎大家在评论区留言或者私信博主!

在这里送大家一句话:广积粮,缓称王!

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

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

相关文章

Linux操作系统 中的用户管理,也就是关于用户的相关的操作与理解

目录 1 概念2 用户管理的类型3、模板目录4 查看历史命令5 相关文件6 创建用户useradd7 命令passwd 存储及shadow命令下的用户密码8 usermod命令&#xff08;修改属性&#xff09;9 密码设置10 删除命令userdel11 用户组的操作12 用户权限13 创建一个用户组&#xff0c;并且将这…

ORA-600 kcbzib_kcrsds_1一键恢复

一个19c库由于某种原因redo损坏强制打开库报ORA-600 kcbzib_kcrsds_1错误 SQL> startup mount pfile?/database/pfile.txt; ORACLE instance started. Total System Global Area 859830696 bytes Fixed Size 9034152 bytes Variable Size 5…

我们一起聊一聊JWT的那些事

我们一起聊一聊JWT的那些事 一切美好&#xff0c;如期而至… 什么是JWT JWT&#xff0c;全称为 JSON Web Token&#xff0c;是一种用于在网络上安全地传递信息的开放标准&#xff08;RFC 7519&#xff09;。JWT 是一种紧凑且独立的方式&#xff0c;用于在各方之间以 JSON 对象…

javaTCP协议实现一对一聊天

我们首先要完成服务端&#xff0c;不然出错&#xff0c;运行也要先运行服务端&#xff0c;如果不先连接服务端&#xff0c;就不监听&#xff0c;那客户端不知道连接谁 服务端 import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.Actio…

消费1000返1500元,买了4罐奶粉倒赚商家2000元?商家亏吗?

大家好&#xff0c;我是微三云胡佳东&#xff0c;一个深耕私域电商模式玩法的互联网人&#xff01;&#xff01; 在当前的全球经济环境下&#xff0c;消费增值的概念正逐渐受到广泛的关注。这一模式的崛起&#xff0c;不仅仅是一种商业模式的创新&#xff0c;更代表着我们对经…

[⑦ADRV902x]: JESD204学习笔记

前言 JESD204B/C基于SERDES&#xff08;SERialization/DESerialization&#xff09;技术&#xff0c;也就是串化和解串&#xff0c;在发送端将多位并行的数据转换为1 bit的串行数据&#xff0c;在接收端将串行数据恢复成原始的并行数据。 在JESD204接口出现以前&#xff0c;数…

TOC清洁验证棉签:擦拭取样清洁验证专用的强力助手!

由PP聚丙烯杆聚酯纤维布头构成的TOC清洁验证棉签&#xff0c;用于清洁验证协议的表面采样取样&#xff0c;对难以到达的区域或狭小空间的精密清洗等。 棉签杆使用聚丙烯制作,杆上的缺口能使棉签头在较小的操作及污染下放进小瓶中,具有较好的化学相容性。 有缺口的分离式手柄允许…

class036 二叉树高频题目-上-不含树型dp【算法】

class036 二叉树高频题目-上-不含树型dp code1 102. 二叉树的层序遍历 // 二叉树的层序遍历 // 测试链接 : https://leetcode.cn/problems/binary-tree-level-order-traversal/ code1 普通bfs code2 一次操作一层 package class036;import java.util.ArrayList; import java…

全自动影像仪图像自动匹配对焦,测量一致性好

全自动影像仪使用自动边缘提取、自动匹配、自动对焦、测量合成等先进的机器视觉和人工智能技术&#xff0c;能实现高精度的测量与自动对焦。这些技术提高测量的连贯性和准确性&#xff0c;进而提升生产效率与产品质量。 此外&#xff0c;全自动影像仪还具有多种功能&#xff0…

【二叉树】

文章目录 树形结构注意要点细分概念树在生活中的应用 二叉树什么是二叉树二叉树特点&#xff1a;两种特殊的二叉树二叉树的性质二叉树性质的练习二叉树的存储二叉树的遍历前序遍历中序遍历后序遍历遍历练习 树形结构 树是一种非线性的数据结构&#xff0c;它具有以下的特点&am…

LeetCode 1038. 从二叉搜索树到更大和树:(反)中序遍历

【LetMeFly】1038.从二叉搜索树到更大和树&#xff1a;&#xff08;反&#xff09;中序遍历 力扣题目链接&#xff1a;https://leetcode.cn/problems/binary-search-tree-to-greater-sum-tree/ 给定一个二叉搜索树 root (BST)&#xff0c;请将它的每个节点的值替换成树中大于…

k8s中的Pod网络;Service网络;网络插件Calico

Pod网络&#xff1b;Service网络&#xff1b;网络插件Calico Pod网络 在K8S集群里&#xff0c;多个节点上的Pod相互通信&#xff0c;要通过网络插件来完成&#xff0c;比如Calico网络插件。 使用kubeadm初始化K8S集群时&#xff0c;有指定一个参数–pod-network-cidr10.18.0…

如何让软文更具画面感,媒介盒子分享

写软文这种带有销售性质的文案时&#xff0c;总说要有画面感&#xff0c;要有想象空间。只有针对目标用户的感受的设计&#xff0c;要了解用户想的是什么&#xff0c;要用可视化的描述来影响用户的感受&#xff0c;今天媒介盒子就和大家分享&#xff1a;如何让软文更具画面感。…

2023-12-05 LeetCode每日一题(到达首都的最少油耗)

2023-12-05每日一题 一、题目编号 2477. 到达首都的最少油耗二、题目链接 点击跳转到题目位置 三、题目描述 给你一棵 n 个节点的树&#xff08;一个无向、连通、无环图&#xff09;&#xff0c;每个节点表示一个城市&#xff0c;编号从 0 到 n - 1 &#xff0c;且恰好有 …

Ubuntu之Sim2Real环境配置(坑居多)

不要一上来就复制哦,因为很多下面的步骤让我走了很多弯路,如果可能的话,我会重新整理再发出来 前提: 参考教程 Docs 创建工作空间(不用跟着操作,无用) 1.创建sim2real server container 1.尝试创建sim2real_server容器 后来使用 docker ps -a 发现我已经有sim2real_se…

机器学习 类别特征编码:Category Encoders 库的使用

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&…

202350读书笔记|《再别康桥:徐志摩诗选》——微风起,清芬酝藉,不减荼

202350读书笔记|《再别康桥&#xff1a;徐志摩诗选》——微风起&#xff0c;清芬酝藉&#xff0c;不减荼 《再别康桥&#xff1a;徐志摩诗选》我觉得有时候诗人是很狂热的&#xff0c;上头的感觉。 有几首很喜欢&#xff0c;节选如下&#xff1a; 偶然 我是天空里的一片云&…

内测分发平台支持应用的异地容灾的重要性

大家好&#xff0c;我是咕噜-凯撒&#xff0c;随着网络社会的发展&#xff0c;人们对于应用程序的依赖程度越来越高。无论是企业用户还是个人用户&#xff0c;都希望能够随时随地访问到需要使用的应用。所以对于内测分发平台来说保证应用的连续性和可靠性是非常的关键。内侧分发…

推荐一个开源的监控程序-Uptime

先放几张截图介绍一下 现场演示 尝试一下&#xff01; 东京演示服务器&#xff1a;https://demo.uptime.kuma.pet&#xff08;由 Uptime Kuma 赞助商 赞助&#xff09; 这是一个临时的现场演示&#xff0c;所有数据将在10分钟后删除。使用距离您较近的一个&#xff0c;但我建…

LinuxBasicsForHackers笔记 -- BASH 脚本

你的第一个脚本&#xff1a;“你好&#xff0c;黑客崛起&#xff01;” 首先&#xff0c;您需要告诉操作系统您要为脚本使用哪个解释器。 为此&#xff0c;请输入 shebang&#xff0c;它是井号和感叹号的组合&#xff0c;如下所示&#xff1a;#! 然后&#xff0c;在 shebang …