当前位置: 首页 > wzjs >正文

成都有哪些做网站的黄骅港项目中标结果

成都有哪些做网站的,黄骅港项目中标结果,做网站需要到哪些部门登记,我想做个百度网站怎么做小蓝随手写出了含有 n n n 个正整数的数组 a 1 , a 2 , ⋅ ⋅ ⋅ , a n {a_1, a_2, , a_n} a1​,a2​,⋅⋅⋅,an​ ,他发现可以轻松地算出有多少个有序二元组 ( i , j ) (i, j) (i,j) 满足 a j a_j aj​ 是 a i a_i ai​ 的一个因数。因此他定义一个整数对 …

小蓝随手写出了含有 n n n 个正整数的数组 a 1 , a 2 , ⋅ ⋅ ⋅ , a n {a_1, a_2, · · · , a_n} a1,a2,⋅⋅⋅,an ,他发现可以轻松地算出有多少个有序二元组 ( i , j ) (i, j) (i,j) 满足 a j a_j aj a i a_i ai 的一个因数。因此他定义一个整数对 ( x 1 , y 1 ) (x_1, y_1) (x1,y1) 是一个整数对 ( x 2 , y 2 ) (x_2, y_2) (x2,y2) 的“因数”当且仅当 x 1 x_1 x1 y 1 y_1 y1 分别是 x 2 x_2 x2 y 2 y_2 y2的因数。他想知道有多少个有序四元组 ( i , j , k , l ) (i, j, k, l) (i,j,k,l) 满足 ( a i , a j ) (a_i, a_j) (ai,aj) ( a k , a l (a_k, a_l (ak,al) 的因数,其中 i , j , k , l i, j, k, l i,j,k,l 互不相等。

问题分析:

我们需要找到所有满足以下条件的有序四元组 ( i , j , k , l ) (i, j, k, l) (i,j,k,l)

  • ( a i , a j ) (a_i, a_j) (ai,aj) ( a k , a l ) (a_k, a_l) (ak,al) 的因数,即:
    • a i a_i ai a k a_k ak 的因数。
    • a j a_j aj a l a_l al 的因数。
  • i , j , k , l i, j, k, l i,j,k,l 互不相等。

解决思路:

  • 统计每个数的因数关系:
    • 对于数组中的每个数 x x x,统计有多少个数是 x x x 的因数。遍历数组,对于每个数 x x x,遍历所有可能的因数 d d d d d d 从 1 到 s q r t ( x ) sqrt(x) sqrt(x)),如果 d d d x x x 的因数,则记录 d d d x / d x/d x/d
    • 使用一个哈希表或数组 factor_count 来记录每个数的因数个数。
  • 枚举四元组:
    • 对于每一对 ( a k , a l ) (a_k, a_l) (ak,al),找到所有满足 a i a_i ai a k a_k ak 的因数且 a j a_j aj a l a_l al 的因数的 ( a i , a j ) (a_i, a_j) (ai,aj)
    • 由于 i , j , k , l i, j, k, l i,j,k,l 必须互不相等,需要排除重复的情况。
  • 计算结果:
    • 对于每一对 ( a k , a l ) (a_k, a_l) (ak,al),计算满足条件的 ( a i , a j ) (a_i, a_j) (ai,aj) 的数量,并累加到结果中。
    • 如果 a k a_k ak a l a_l al 的因数中包含本身,需要减去重复的情况。
#include <iostream>
#include <vector>
#include <unordered_map>
#include <cmath>
using namespace std;// 统计每个数的因数个数
unordered_map<int, int> countFactors(const vector<int>& nums) {unordered_map<int, int> factor_count;for (int x : nums) {int count = 0;for (int d = 1; d <= sqrt(x); d++) {if (x % d == 0) {count++;if (d != x / d) {count++;}}}factor_count[x] = count;}return factor_count;
}// 计算满足条件的四元组数量
int countValidQuadruples(const vector<int>& nums) {int n = nums.size();if (n < 4) return 0;// 统计每个数的因数个数unordered_map<int, int> factor_count = countFactors(nums);int result = 0;for (int k = 0; k < n; k++) {for (int l = 0; l < n; l++) {if (k == l) continue; // 确保 k 和 l 不相等int ak = nums[k];int al = nums[l];// 计算满足 ai 是 ak 的因数且 aj 是 al 的因数的 (ai, aj) 的数量int count_ai = factor_count[ak];int count_aj = factor_count[al];// 排除 ai 或 aj 等于 ak 或 al 的情况if (ak % ak == 0 && al % al == 0) {count_ai--;count_aj--;}result += count_ai * count_aj;}}return result;
}

复杂度分析:

  • 时间复杂度:
    • 预处理因数关系: O ( n ∗ m a x _ n u m ) O(n * \sqrt{max\_num}) O(nmax_num ),其中 n n n 是数组长度, m a x _ n u m max\_num max_num 是数组中的最大值。
    • 枚举四元组: O ( n 2 ) O(n^2) O(n2)
    • 总时间复杂度: O ( n 2 + n ∗ m a x _ n u m ) O(n^2 + n * \sqrt{max\_num}) O(n2+nmax_num )
  • 空间复杂度:
    • 哈希表 factor_count 的空间复杂度为 O ( n ) O(n) O(n)
http://www.dtcms.com/wzjs/558047.html

相关文章:

  • 旅游网站建设市场分析深圳网页设计推广渠道
  • 网站备案密码忘网站顶部滑动展示的div层提示效果
  • 住房建设建设部网站网站开发毕设任务书
  • 南昌网站建设报价网页制作与设计在哪搜题
  • 面试网站建设的问题6怎么自己制作软件app
  • 建设环保网站查询系统优化网站界面的工具
  • 网站自助搭建做网站要是要求吗
  • 禾天姿网站建设网站整站程序
  • 长沙市网站开发wordpress 主体安装
  • 什么网站做ppt好微信营销网站建设
  • 广东网站制作公司排名山东省住房和城乡建设厅官网查询
  • 阿里企业网站建设品牌建设的过程
  • 站群cms源码wordpress 代码解读
  • 怎么在网上查网站空间是双线还是单线wordpress sns
  • 网站验证码原理企业网站计划书
  • 网站硬件需求住房和建设建设局网站
  • 微信公众号转入公司网站建设中国移动网站官网
  • 长春制作网站软件wordpress 定时发布失败
  • 防伪码查询网站怎么做的什么nas可以做网站服务器
  • 成都网站建设公司招聘怎么做网络广告推广
  • 商城网站开发嵌入支付宝个体工商户能网站备案吗
  • 百度站长平台登录安徽企业网站制作
  • 邵阳专业网站设计如何策划网络推广方案
  • 云南专业网站制作公司春花直播
  • 站长工具seo查询为学校网站做网站推广策划书
  • 手表网站错误怎么办c mvc 大型网站开发
  • 无锡网站设计公司排名做足球原创短视频网站
  • 北京做网站男生工资泰安人才网
  • 郑州门户网站制作企业网盘系统
  • 宁波拾谷网站建设河南做网站联系电话