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

洛谷: CF632D Longest Subsequence-普及+/提高

题目描述

给定有 nnn 个元素的数组 aaa 和数字 mmm。记 LCM 为 lll 。找出使 l≤ml \le mlmaaa 的最长子序列。

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

空数组的 LCM 等于 111

输入格式

第一行包含两个整数 nnnmmm ( $ 1 \le n,m \le 10^{6} $ ) — 数组 aaa 的大小和题目描述中的参数。

第二行包含 n 个整数 $ a_{i} $ ( $ 1 \le a_{i} \le 10^{9} $ ) — aaa 的元素。

输出格式

第一行打印两个整数 $ l $ 和 $ k_{\max} $ ( $ 1 \le l \le m,0 \le k_{\max} \le n $ ) — LCM 的值和最优子序列中的元素数量。

第二行打印 $ k_{\max} $ 个整数 — 按升序排序输出元素。

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

输入输出样例 #1

输入 #1

7 8
6 2 9 2 7 2 3

输出 #1

6 5
1 2 4 6 7

输入输出样例 #2

输入 #2

6 4
2 2 2 3 3 3

输出 #2

2 3
1 2 3

solution

代码

#include "cstring"
#include "string"
#include "algorithm"
#include "iostream"
#include "vector"
#include "unordered_set"
#include "unordered_map"
#include "bitset"
#include "queue"
#include "set"using namespace std;/**  CF632D Longest Subsequence*  题目大意:n 个数, lcm <= m 的最长子序列 (n,m <= 1e6)*  1 统计 [1, m] 每个数出现的次数 c[i]*  2 仿照埃筛用 1 中出现的 i 标记它的倍数, f[i*j] += c[i]*  3 统计并输出 f 的最大值和最大值 index, 输出 index 的约数*/const int N = 1e6 + 5, M = 2e6, INF = 1e9, MOD = 0;
typedef long long ll;int n, m, a[N], c[N], f[N];int main() {scanf("%d%d", &n, &m);for (int i = 1; i <= n; i++) {scanf("%d", a + i);if (a[i] <= m) c[a[i]]++;}for (int i = 1; i <= m; i++) {if (c[i]) {for (int j = 1; j * i <= m; j++) {f[i * j] += c[i];}}}int ans = 0, k = 1;for (int i = 1; i <= m; i++)if (f[i] > ans) ans = f[i], k = i;printf("%d %d\n", k, ans);for (int i = 1; i <= n; i++) {if (k % a[i] == 0) printf("%d ", i);}return 0;
}

结果

在这里插入图片描述

http://www.xdnf.cn/news/18763.html

相关文章:

  • 相机激光安全等级和人眼安全
  • 亚马逊云科技免费套餐新政解析与实战:数据分析与可视化平台
  • 机器学习(二)特征工程
  • 深度剖析初始化vue项目文件结构!!【前端】
  • (MySQL索引事务) 本节目标 索引 事务
  • 机器学习--支持向量机
  • 数据结构(一):算法的时间复杂度和空间复杂度
  • 在使用spring ai进行llm处理的rag的时候,选择milvus还是neo4j呢?
  • 固定资产管理系统核心模块拆解:全流程管理逻辑
  • 30.LSTM-长短时记忆单元
  • 视频号存在争议了...
  • 从零开始的 Docker 之旅
  • 嵌入式系统学习Day23(进程)
  • 今日分享:C++ string 类模拟实现
  • 【Linux系统】线程概念
  • 【51单片机】萌新持续学习中《矩阵 密码锁 点阵屏》
  • 抽象能力的重要性
  • 使用 flutter_tts 的配置项
  • MyBatis 初识:框架定位与核心原理——SQL 自由掌控的艺术
  • 移动应用渗透测试:API 接口漏洞的识别与利用技巧
  • 五自由度磁悬浮轴承同频振动抑制:从机理拆解到传递函数验证的核心方案
  • ICBC_TDR_UShield2_Install.exe [ICBC UKEY]
  • CSDN博客:中文技术社区的知识生产与生态演进
  • 项目设计文档——爬虫项目(爬取天气预报)
  • linux、window java程序导出pdf\word、excel文字字体显示异常、字体样式不一样
  • SOME/IP服务发现PRS_SOMEIPSD_00277的解析
  • 【贪心算法】day3
  • 高教杯数学建模2021-C 生产企业原材料的订购与运输
  • 5G 三卡图传终端:应急救援管理的 “可视化指挥核心”
  • 【无标题】计数组合学7.21(有界部分大小的平面分拆)