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

3338 蓝桥杯 wyz的数组IV 简单

3338 蓝桥杯 wyz的数组IV 简单

//C++风格解法1,通过率50%
#include<bits/stdc++.h>int main(){std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);int n;	std::cin >> n;int ans = 0;std::vector<int>a(n);for(auto &x: a)std::cin >> x;for(int i = 0; i < n; i++){for(int j = i + 1; j < n; j++){if(std::gcd(a[i], a[j]) == 2)ans = std::max(ans, i + j + 2);  //__gcd()}}std::cout << ans <<'\n';return 0;
}

i + j + 2 的原因是:下标从0,但第几个从 1 开始,两个数 + 2

C++中,std::__gcd(x, y)(C98) 和 std::gcd(x,y)(C++17) 直接求 x,y 的最大公约数

n * n, n = 10^5, n * n = 10^(10),1s一般是 2 * 10^8

//C风格解法2,通过率100%
#include<bits/stdc++.h>const int N = 1e3 + 1;int mx[N]; // mx_i 表示的 i 这个数值的数在原数组的最大下标,桶// 7
// 2 2 2 2 6 6
//           存最大的位置// gcd 是最大公约数
// 6
// 6 6 8 8 2 2
//a[2] = 6,a[4(下标)] = 8(值)
//mx[6(值)] = 2(下标),mx[8] = 4int main(){int n;    scanf("%d", &n); // 读入 nint ans = 0;for(int i = 1; i <= n; i++){    int x;    scanf("%d", &x); // 输入 a_iif(x == 2){if(mx[2] != 0)ans = std::max(ans, mx[2] + i);}mx[x] = i;}for(int i = 2; i <= 1000; i++){ // 枚举的是值,不是下标,10^3for(int j = i + 1; j <= 1000; j++){ // 枚举的是值,不是下标,10^3if(mx[i] == 0 || mx[j] == 0)continue; // 如果 i 或 j 没有出现,就 contineif(std::gcd(i,j) != 2)continue;ans = std::max(ans, mx[i] + mx[j]);}}// 10^6,计算机 1s 跑 2 * 10^8printf("%d\n", ans);return 0;
}


// n = 5
// 2 3 4 5 6
// mx[2] = mx[3] = mx[4] = mx[5] = mx[6] = 0
// x = 2(值),mx[2(值)] = 1(下标)
// x = 3,mx[3] = 2
// x = 4,mx[4] = 3
// x = 5,mx[5] = 4
// x = 6,mx[6] = 5
// 输出 3 + 5 = 8,(第几个,下标)

0wzy的数组IV - 蓝桥云课 (lanqiao.cn)

reference:

【C++】__gcd(x,y)函数_∑ y∈c gcd(x,y)-CSDN博客


最大公约数 —— Greatest Common Divisor(GCD) - 知乎 (zhihu.com)​​​​​​[详解-vector] C++必知必会 vector常用各种操作解析 - 知乎 (zhihu.com)

http://www.lryc.cn/news/292057.html

相关文章:

  • git Filename too long
  • MySQL数据库-理论基础
  • 立体边界,让arcgis出图更酷炫一些
  • 【C++】 C++入门—内联函数
  • 软件工程知识梳理2-需求分析
  • mac裁剪图片
  • Compose | UI组件(十) | Box,Surface - 帧布局
  • 种草日记|林曦老师的冬日好物分享
  • 【算法与数据结构】139、LeetCode单词拆分
  • NLP任务之Named Entity Recognition
  • NUXT3项目实践总结
  • 中科星图——2020年全球30米地表覆盖精细分类产品V1.0(29个地表覆盖类型)
  • Tomcat 部署项目时 war 和 war exploded区别
  • 【开源】SpringBoot框架开发天然气工程运维系统
  • go数据操作-MySQL
  • 基于node.js和Vue3的医院挂号就诊住院信息管理系统
  • Django如何调用机器学习模型进行预测
  • Web3.0初探
  • 在windows和Linux中的安装 boost 以及 安装 muduo 和 mysql
  • WPOpenSocial实现WordPress的QQ登录
  • 关于我用AI编写了一个聊天机器人……(7)
  • WebService的services.xml问题
  • 永久删除 Elasticsearch 中的主节点
  • 从搜索引擎到答案引擎:LLM驱动的变革
  • IDEA如何进行远程Debug调试
  • 故障诊断 | 一文解决,GRU门控循环单元故障诊断(Matlab)
  • C语言数据结构之二叉树
  • 《HTML 简易速速上手小册》第1章:HTML 入门(2024 最新版)
  • 笔记本电脑Win11重装系统教程
  • 突破编程_C++_面试(基础知识(3))