news 2026/3/11 6:26:06

《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/3/10 14:30:11

从零到一:手撸一个让队友追着夸的 Claude Skill

&#x1f4d6; 前置阅读&#xff1a;《Claude Skills 入门指南》 前言&#xff1a;一个让我每天节省10分钟的小发明 我们团队有个规定&#xff1a;commit message 必须按规范来。格式是 <type>(<scope>): <subject>&#xff0c;类型只能是 feat/fix/docs 那…

作者头像 李华
网站建设 2026/3/5 16:14:33

3步实现家庭AI集群智能负载均衡:Exo资源配额终极指南

3步实现家庭AI集群智能负载均衡&#xff1a;Exo资源配额终极指南 【免费下载链接】exo Run your own AI cluster at home with everyday devices &#x1f4f1;&#x1f4bb; &#x1f5a5;️⌚ 项目地址: https://gitcode.com/GitHub_Trending/exo8/exo 还在为家中设备…

作者头像 李华
网站建设 2026/3/9 14:05:50

SCPI Parser终极指南:免费开源仪器控制命令解析库完全掌握

SCPI Parser终极指南&#xff1a;免费开源仪器控制命令解析库完全掌握 【免费下载链接】scpi-parser Open Source SCPI device library 项目地址: https://gitcode.com/gh_mirrors/sc/scpi-parser 在当今自动化测试和仪器控制领域&#xff0c;SCPI Parser作为一款免费开…

作者头像 李华
网站建设 2026/3/9 9:11:38

EmotiVoice语音合成API计费模式设计思路

EmotiVoice语音合成API计费模式设计思路 在虚拟助手、数字人、有声内容创作日益普及的今天&#xff0c;用户对语音合成的要求早已超越“能说话”这一基本功能。人们期待的是富有情感、具备个性、甚至带有“人格”的声音输出——这正是EmotiVoice这类高表现力TTS引擎迅速崛起的技…

作者头像 李华
网站建设 2026/3/8 9:57:44

微积分笔记(2):数列的极限(上)

2.1 数列的极限本文旨在以通俗的语言将讲解微积分&#xff0c;尽量以零起点角度将复杂的微积分讲解明白。 引用本文内容必须注明“参考文档&#xff1a;《微积分笔记》作者&#xff1a;黄邦勇帅(原名&#xff1a;黄勇)”&#xff0c;或者注明转发出处&#xff0c;本文作者拥有完…

作者头像 李华
网站建设 2026/3/9 11:48:31

3D标签云终极指南:如何用JavaScript创建炫酷视觉特效

3D标签云终极指南&#xff1a;如何用JavaScript创建炫酷视觉特效 【免费下载链接】TagCloud ☁️ 3D TagCloud.js rotating with mouse 项目地址: https://gitcode.com/gh_mirrors/ta/TagCloud 想要为你的网站增添令人惊艳的3D视觉效果吗&#xff1f;TagCloud.js正是你需…

作者头像 李华