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

阿里巴巴做网站多少钱如何修改wordpress首页导航

阿里巴巴做网站多少钱,如何修改wordpress首页导航,wordpress4.9.6,wordpress安装dplayer互质 互质 互质 每次测试的时间限制: 3 秒 每次测试的时间限制:3 秒 每次测试的时间限制:3秒 每次测试的内存限制: 256 兆字节 每次测试的内存限制:256 兆字节 每次测试的内存限制:256兆字节 题目描述 给定…

互质 互质 互质 每次测试的时间限制: 3 秒 每次测试的时间限制:3 秒 每次测试的时间限制:3 每次测试的内存限制: 256 兆字节 每次测试的内存限制:256 兆字节 每次测试的内存限制:256兆字节


题目描述

给定一个由 n n n 个正整数 a 1 , a 2 , … , a n a_1, a_2, \dots, a_n a1,a2,,an ( 1 ≤ a i ≤ 1000 1 \le a_i \le 1000 1ai1000 ) 组成的数组。求 i + j i + j i+j 的最大值,使得 a i a_i ai a j a_j aj 互质,如果不存在这样的 i i i j j j输出 − 1 -1 1

例如,考虑数组 [ 1 , 3 , 5 , 2 , 4 , 7 , 7 ] [1, 3, 5, 2, 4, 7, 7] [1,3,5,2,4,7,7] 。由于 a 5 = 4 a_5 = 4 a5=4 a 7 = 7 a_7 = 7 a7=7 互质,所以 i + j i + j i+j 的最大值是 5 + 7 5 + 7 5+7

如果两个整数 p p p q q q 的最大公因数是 1 1 1,则这两个整数 p p p q q q 是互质。


输入

输入由多个测试用例组成。第一行包含一个整数 t t t ( 1 ≤ t ≤ 10 1 \leq t \leq 10 1t10 ) - 测试用例的数量。测试用例说明如下。

每个测试用例的第一行包含一个整数 n n n ( 2 ≤ n ≤ 2 ⋅ 1 0 5 2 \leq n \leq 2\cdot10^5 2n2105 ) - 数组的长度。

下一行包含 n n n 个空格分隔的正整数 a 1 a_1 a1 , a 2 a_2 a2 ,…, a n a_n an 1 ≤ a i ≤ 1000 1 \leq a_i \leq 1000 1ai1000 )–数组的元素。( 1 ≤ a i ≤ 1000 1 \leq a_i \leq 1000 1ai1000 ) - 数组的元素。

保证所有测试用例的 n n n 之和不超过 2 ⋅ 1 0 5 2\cdot10^5 2105


输出

对于每个测试用例,输出一个整数-- i + j i + j i+j 的最大值,使得 i i i j j j 满足 a i a_i ai a j a_j aj 为共素数的条件,或者在没有 i i i j j j 满足条件的情况下输出 − 1 -1 1


代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int INF = 0x3f3f3f3f;
const int mod = 1e9 + 7; 
const int N = 200010;int a[N];bool PD[1010][1010];int gcd(int a,int b)
{if(b==0)return a;else return gcd(b,a%b);
}int main()
{for(int i=1;i<=1000;i++)for(int j=1;j<=1000;j++)if(gcd(i,j)==1)PD[i][j]=true;int t; cin>>t;while (t--){int n; cin>>n;map<int,int>mp;for(int i=1;i<=n;i++){scanf("%d",&a[i]);mp[a[i]]=i;  //mp用来记录每种数最后出现的位置} int ans=-1;for(int i=1;i<=1000;i++)for(int j=i;j<=1000;j++)if(mp.count(i) && mp.count(j))if(PD[i][j])ans=max(ans,mp[i]+mp[j]);cout<<ans<<endl;}return 0;
}

解题思路:如果枚举数组中的每一对数的话,时间复杂度为 O ( n 2 ) O(n^2) O(n2) ,其中 n n n 2 ∗ 1 0 5 2*10^5 2105 ,该方案不可行,这绝对会TLE

这时我们可以发现 a [ i ] a[i] a[i] 的取值范围非常的小,只有 1-1000 ,所以可以尝试枚举 1-1000 中选取 2 2 2 个数的所有组合,然后判断每种组合在给定的数组中是否存在,如果存在的话再判断它们是否互质,如果互质的话找到这种组合中的两个数分别在给定的数组中最后出现的位置(这可以通过一个map来存下数组中每种值最后出现的位置)这种算法的时间复杂度为 O ( 100 0 2 ) O(1000^2) O(10002)

http://www.yayakq.cn/news/571474/

相关文章:

  • 河南网站开发宣传软文模板
  • 做中国最专业的健康门户网站推荐友情链接
  • 渭南建网站湖北网站建设软件有哪些
  • 聊城做网站公司聊城博达网站广告
  • 福州微信营销网站建设食品网站模板下载
  • 无锡本地做网站网站规划和布局
  • 网站嵌入百度地图市住建局官方网
  • 网站推广软文代发为什么很少用python做网站
  • 商城网站开发多久大连网络建站公司分析
  • 新闻头条最新消息摘抄优化网站专题
  • 自己做的网站加载慢的原因wordpress阿里云安装目录
  • 动画做a视频在线观看网站如何做好专业类网站
  • 网站改版域名不变游戏开发自学
  • 网站去哪里备案无锡免费建设网站
  • 公司做网站怎么赚钱有趣的网站设计
  • 四川省信用建设促进会网站2019年的阜南县建设修路网站
  • 做网站建网站公司做鼻翼整形整形的网站
  • 网站seo置顶wordpress的音乐插件怎么用
  • 建设企业网站登录入口百度推广账户登陆
  • 陕西网站建设平台跨境电商的发展现状
  • 不用网站怎么做落地页建网站的支付安全
  • 手机移动端网站是什么wordpress 标签插件
  • 如何看网站建立时间免费h5模板都从哪里下载
  • 今天国际新闻消息苏州网站排名优化报价
  • 临海网站制作南通市建设局网站
  • 贵阳网站开发推荐学校网站官网
  • 网站开发制作公司wordpress手机导航三横拦
  • 做摄影网站的公司小鼠标网站建设
  • 淘宝客网站开源福建建设工程招投标信息网
  • 个人网站备案后可以做行业内容吗wordpress付费阅读主题