1007 dada的GCD,输入格式描述有误,已修正

dada的GCD

Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 36   Accepted Submission(s) : 8

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

Problem Description

C语言都学过了怎么计算两个数的最大公约数,而一段区间[L,R]的GCD即这段区间所有数的最大公约数。现在给你一串长度为n的序列,如果对于序列的任意子区间[L,R],都有这段区间的gcd>=2,那么这段序列就叫做dada的GCD序列。
n<=10^4
序列的每个数小于10^9

Input

第一行有一个整数t,代表t组数据
每组输入有一个正整数n,
随后一行n个正整数。

大量输入,使用cin的同学请关闭stdio同步

Output

如果是dada的GCD序列,就输出Yes,反之输出No

Sample Input

2
3
2 6 4
3
4 6 9

Sample Output

Yes
No

Author

Luke叶

Source

jxnu 
思路:每次都求验证是否最大公约数是否大于等于2,如果是,输出"Yes",否则输出“No” 
这题数据很水,暴力可以过的。
我当时觉得用gcd是不是会爆内存。于是选择暴力了。
暴力代码:
 1 #include<iostream>
2 #include<stdio.h>
3 #include<string.h>
4 #include<algorithm>
5 using namespace std;
6 int a[100050];
7 int s[1005];
8 bool su(int x){
9 if(x%2==0) return false;
10 else {
11 for(int i=3;i*i<=x;i=i+2){
12 if(x%i==0) return false;
13 }
14 return true;
15 }
16 }
17 int main()
18 {
19 int T;
20 s[0]=2;
21 int t=1;
22 for(int i=3;t<1003;i++)
23 if(su(i)){
24 s[t]=i;
25 t++;
26 }
27 cin>>T;
28 while(T--)
29 {
30 int n;
31 scanf("%d",&n);
32 memset(a,0,sizeof(a));
33 for(int i=0;i<n;i++)
34 scanf("%d",&a[i]);
35 bool flag=false;
36 for(int i=0;i<t;i++)
37 {
38 int sum=0;
39 for(int j=0;j<n;j++){
40 if(a[j]%s[i]==0){
41 sum++;
42 }
43 }
44 if(sum==n){
45 flag=true;
46 break;
47 }
48 }
49 if(flag) cout<<"Yes"<<endl;
50 else cout<<"No"<<endl;
51 }
52 return 0;
53 }

正版AC代码:

 1 #include<iostream>
2 #include<stdio.h>
3 using namespace std;
4 int a[10005];
5 int gcd(int a,int b)
6 {
7 if(a==0) return b;
8 else{
9 return gcd(b%a,a);
10 }
11 }
12 int main()
13 {
14 int T;
15 cin>>T;
16 while(T--){
17 int n;
18 cin>>n;
19 for(int i=0;i<n;i++){
20 scanf("%d",&a[i]);
21 }
22 if(n==1){
23 if(a[0]>=2) cout<<"Yes"<<endl;
24 else cout<<"No"<<endl;
25 }else{
26 int ans=gcd(a[0],a[1]);
27 bool flag=true;
28 for(int i=2;i<n;i++){
29 ans=gcd(ans,a[i]);
30 if(ans<2){
31 flag=false;
32 break;
33 }
34 }
35 if(flag) cout<<"Yes"<<endl;
36 else cout<<"No"<<endl;
37 }
38 }
39 return 0;
40 }

dada的GCD ( jxnu acm新生选拔赛)的更多相关文章

  1. JXNU 新生选拔赛

    1001 最小的数 Problem Description 定义一种正整数集合K,集合中有N个数,集合中元素Ki(1<=i<=N)是包含i个不同质因子的最小的数.因为Ki可能会很大,所以将 ...

  2. 2019 年「计算机科学与工程学院」新生赛 暨ACM集训队选拔赛 # 1

    T1 请问这还是纸牌游戏吗 https://scut.online/p/567 这道题正解据说是方根 这里先放着等以后填坑吧qwq 但是由于这道题数据是随机的 所以其实是有各种水法的(但是我比赛根本没 ...

  3. 2018 ACM 网络选拔赛 青岛赛区

    一些题目的代码被网站吞了…… Problem B. Red Black Tree http://acm.zju.edu.cn/onlinejudge/searchProblem.do?contestI ...

  4. GCD XOR, ACM/ICPC Dhaka 2013, UVa12716

    不同的枚举方法,效率完全不同.值得记录一下! #include <cstdio> #include <cstring> , count = ; ]; void pre() { ...

  5. 2018 ACM 网络选拔赛 北京赛区

    A Saving Tang Monk II #include <bits/stdc++.h> using namespace std; ; struct node { int x,y,z, ...

  6. 2018 ACM 网络选拔赛 徐州赛区

    A. Hard to prepare #include <cstdio> #include <cstdlib> #include <cmath> #include ...

  7. 2018 ACM 网络选拔赛 焦作赛区

    A. Magic Mirror #include <cstdio> #include <cstdlib> #include <cmath> #include < ...

  8. 2018 ACM 网络选拔赛 沈阳赛区

    B. Call of Accepted #include <cstdio> #include <cstdlib> #include <cmath> #include ...

  9. 2018 ACM 网络选拔赛 南京赛区

    A. An Olympian Math Problem #include <cstdio> #include <cstdlib> #include <cmath> ...

  10. 2019年华南理工大学软件学院ACM集训队选拔赛 Round1

    TIps: 1.所有代码中博主使用了scanf和printf作为输入输出  2.代码中使用了define LL long long 所以在声明变量的时候 LL其实就等价于long long 希望这两点 ...

随机推荐

  1. 探索API接口:从概念到实践

    在当今数字化时代,API(Application Programming Interface)接口成为了各种应用程序之间实现数据交互和功能集成的关键.无论是开发一个网站.构建一个移动应用还是进行数据分 ...

  2. AI测试,给出的答案还挺那么回事儿的~

    今天文心一言全民开放了,所有人都可以正常下载使用了,不用像之前一样排队等号了.之前内测阶段倒也体验过,技术人员总是喜欢尝鲜,第一时间拿到邀请码后就各种调戏了TA一番,那时觉得给出的答案总有些差强人意, ...

  3. selenium-wire兼容selenium和requests

    背景 在工作中UI自动化中可能会需要用到API来做一些数据准备或清理的事情,那UI操作是略低效的,但API操作相对高效. 而实战课就有这样一个案例,不过那个案例是UI操作和API分开的. 极少会遇到这 ...

  4. Codeforces 1462F The Treasure of The Segments

    题意 给\(n(1\leq n\leq 2*10^5)\)个线段$[l_i,r_i] (1≤l_i≤r_i≤10^9) $,问最少删除几个线段,使得剩下线段中,有至少一个线段与所有线段相交. 分析 对 ...

  5. 利用RATF框架实现web状态的监控

    之前,我们已经说明了如何实现一个我们的接口测试框架RATF,当然这个框架不止可以用于管理我们的接口测试代码,我们还可以用他来对我们的web进行简单粗暴的监控. 原理: 1. 通过使用配置文件,对要监控 ...

  6. Java实践项目 - 用户登录

    Smiling & Weeping ----以花祈愿,祝你平安 当用户输入用户名和密码将数据提交给数据库进行查询,如果存在对应的用户名和密码,则表示登陆成功,登录成功之后跳转到系统的主页就是i ...

  7. Solution -「YunoOI 2017」由乃的 OJ

    Description Link. 起床困难综合症 上树. Solution 线段树维护,树剖上树. 具体题解有空再写,我要去睡觉了. #include<bits/stdc++.h> ty ...

  8. MySQL高级13-MySQL管理工具

    一.系统数据库 MySQL数据库安装完成后,自带了四个数据库: mysql数据库:存储MySQL服务器正常运行所需要的各种信息如时区.主从.用户.权限等 infomation_schema:提供了访问 ...

  9. WebGPU缓冲区更新最佳实践

    介绍 在WebGPU中,GPUBuffer是您将要操作的主要对象之一.它与GPUTextures一同代表了您的应用程序向GPU传递用于渲染的大部分数据.在WebGPU中,缓冲区用于顶点和索引数据.un ...

  10. python包引用方式总结

    本文为博主原创,转载请注明出处: 在Python中,有多种引用包的方式.以下是常见的方式: 1. import语句 import语句是最常见和推荐的引用包的方式.它允许你引入整个包或包中的特定模块/子 ...