news 2026/4/9 21:01:37

《CF632D Longest Subsequence》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《CF632D Longest Subsequence》

题目描述

给定有 n 个元素的数组 a 和数字 m。记 LCM 为 l 。找出使 l≤m 的 a 的最长子序列。

定义 a 的子序列为通过删除 a 中的一些元素得到的数组。允许删除 0 个元素或所有元素。

空数组的 LCM 等于 1。

输入格式

第一行包含两个整数 n 和 m ( 1≤n,m≤106 ) — 数组 a 的大小和题目描述中的参数。

第二行包含 n 个整数 ai​ ( 1≤ai​≤109 ) — a 的元素。

输出格式

第一行打印两个整数 l 和 kmax​ ( 1≤l≤m,0≤kmax​≤n ) — LCM 的值和最优子序列中的元素数量。

第二行打印 kmax​ 个整数 — 按升序排序输出元素。

请注意,您可以找到并打印任何具有最大长度的子序列。

显示翻译

题意翻译

输入输出样例

输入 #1复制

7 8 6 2 9 2 7 2 3

输出 #1复制

6 5 1 2 4 6 7

输入 #2复制

6 4 2 2 2 3 3 3

输出 #2复制

2 3 1 2 3

代码实现:

#include <iostream> #include <vector> #include <set> #include <algorithm> using namespace std; const int mx = 1000005; int ct[mx]; vector<int> vec[mx]; void writeln(int val) { cout << val << endl; } int main() { int n, m; cin >> n >> m; for (int i = 1; i <= n; ++i) { int x; cin >> x; if (x <= m) vec[x].push_back(i); } for (int i = 1; i <= m; ++i) for (int j = 1; i * j <= m; ++j) ct[i * j] += vec[i].size(); int p = max(int(max_element(ct + 1, ct + m + 1) - ct), 1); set<int> res; // 替换auto为vector迭代器 for (int i = 1; i <= p; ++i) { if (p % i == 0) { for (vector<int>::iterator it = vec[i].begin(); it != vec[i].end(); ++it) { res.insert(*it); } } } cout << p << " "; writeln(res.size()); bool f = true; // 替换auto为set迭代器 for (set<int>::iterator it = res.begin(); it != res.end(); ++it) { if (!f) cout << " "; f = false; cout << *it; } if (!res.empty()) cout << endl; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/9 14:37:57

ComfyUI-SeedVR2视频超分模块:从入门到精通的全方位指南

ComfyUI-SeedVR2视频超分模块&#xff1a;从入门到精通的全方位指南 【免费下载链接】ComfyUI-SeedVR2_VideoUpscaler Non-Official SeedVR2 Vudeo Upscaler for ComfyUI 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-SeedVR2_VideoUpscaler 在当今AI技术飞速发…

作者头像 李华
网站建设 2026/4/5 22:37:20

Venture项目管理工具终极指南:快速上手完整教程

Venture项目管理工具终极指南&#xff1a;快速上手完整教程 【免费下载链接】venture Venture allows you to create and manage complex, async workflows in your Laravel apps. 项目地址: https://gitcode.com/gh_mirrors/ve/venture Venture是一款专为Laravel应用设…

作者头像 李华
网站建设 2026/4/5 17:27:19

Codex多模型架构深度解析:构建高效AI开发工作流

Codex多模型架构深度解析&#xff1a;构建高效AI开发工作流 【免费下载链接】codex 为开发者打造的聊天驱动开发工具&#xff0c;能运行代码、操作文件并迭代。 项目地址: https://gitcode.com/GitHub_Trending/codex31/codex 在当今快速发展的AI领域&#xff0c;开发者…

作者头像 李华
网站建设 2026/4/3 18:32:46

CodeCombat终极指南:如何在游戏世界中快速掌握编程技能

CodeCombat终极指南&#xff1a;如何在游戏世界中快速掌握编程技能 【免费下载链接】codecombat Game for learning how to code. 项目地址: https://gitcode.com/gh_mirrors/co/codecombat 还在为枯燥的编程学习而烦恼吗&#xff1f;CodeCombat为你带来了革命性的解决方…

作者头像 李华
网站建设 2026/4/2 3:08:34

亲测好用:10个免费黑科技资源平台,获取资源不再花冤枉钱

当下获取资源的付费门槛似乎较为常见&#xff0c;想要获取实用的知识往往面临一定阻碍&#xff0c;实则是尚未发现合适的免费资源平台。以下整理了10个黑科技资源网站&#xff0c;可满足各种类型的资源获取需求。1. 发现AI一站式AI导航平台&#xff0c;发现AI整合了各类AI工具&…

作者头像 李华
网站建设 2026/4/8 21:35:35

如何快速掌握Redash数据可视化:从零到专家的完整指南

如何快速掌握Redash数据可视化&#xff1a;从零到专家的完整指南 【免费下载链接】redash getredash/redash: 一个基于 Python 的高性能数据可视化平台&#xff0c;提供了多种数据可视化和分析工具&#xff0c;适合用于实现数据可视化和分析。 项目地址: https://gitcode.com…

作者头像 李华