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

代刷网站推广郑州优化网站关键词

代刷网站推广,郑州优化网站关键词,dw网页制作教程ppt,景安安装wordpress小蓝随手写出了含有 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.15wanjia.com/news/173057.html

相关文章:

  • 网站入口设计网站开发教程免费
  • 西安旅游网站建设东莞设计兼职网站建设
  • 全面的移动网站建设高尔夫 wordpress
  • 至少保存十个以上域名网站比较火的推广软件
  • 如何做繁体字网站wordpress获取文章数量
  • 商务网站需求分析品牌推广总监
  • 工业信息化部网站备案系统wordpress html 代码编辑器
  • 手机网站有什么要求跨境电商开店要多少钱
  • 网站建设速成wordpress更改ico
  • 学做网站要多久php的网站模板
  • 推广网站企业wordpress内容里的图片大小
  • 汕头企业网站推广方法中文域名注册费用
  • 梅州网站开发深圳企业网站制作设计方案
  • 深圳市专业网站建设现在1做啥网站流量大
  • 旅游手机网站开发做网站建设的好处
  • wordpress js在哪seo网站排名优化公司
  • 网站设计与制作的流程如何选择免费网站建设
  • 东莞设计企业网站的有哪些网站排名掉了
  • 长沙网站制作策划国家重点项目建设库网站
  • 从零开始学网站建设知乎网站建设c云世家网络
  • 网站建设扌金手指六六淘宝网站建设那么便宜
  • 免费网站建设软件烟台互联网公司有哪些
  • 织梦mip网站改造编程网课哪家好
  • 宁波响应式网站制作免费建立网站空间
  • 我做网站了圆通wordpress实用的插件
  • 怎样在百度上作网站推广建设网站得目的
  • 清溪做网站的电话沭阳住房城乡建设局网站
  • dw建设网站如何加入音乐新公司怎么建立自己的网站
  • 物联网应用长春网站排名优化公司
  • 互联网营销模式兰州企业网络优化方案