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

洛谷: 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.dtcms.com/a/352470.html

相关文章:

  • 下载python离线安装包,在无网络机器安装方法
  • DeepSeek用C编写的支持Zstandard 压缩的 ZIP 工具
  • 2020-2022年 CLES村庄、农户调查问卷、清理和审核报告相关数据
  • 【RAGFlow代码详解-25】HTTP 接口
  • VGG改进(5):基于Multi-Scale Attention的PyTorch实战
  • 解析xml文件并录入数据库
  • 给高斯DB写一个函数实现oracle中GROUPING_ID函数的功能
  • 分布式锁;Redlock
  • 【世纪龙科技】职业院校汽车职业体验中心建设方案
  • imx6ull-驱动开发篇43——I.MX6U 的 I2C 驱动分析
  • 如何在ubuntu下制作linux镜像
  • 深度学习之卷积神经网络原理(cnn)
  • AT_abc401_f [ABC401F] Add One Edge 3
  • Rocky9配置完VMware桥接模式后没有自动获取IP
  • 系统架构设计师-【2025上半年论文题目分享】
  • 六足机器人系统设计与实现cad+设计说明书+电路原图模式+装配图+电路图
  • Java设计模式之《状态模式》
  • 从根源解决 VMware 每次重启 Windows 系统后无法进行复制文件等操作的问题
  • 矩阵的秩几何含义
  • openssh 版本回退
  • Spring Ai (Function Calling / Tool Calling) 工具调用
  • 78-dify案例分享-零基础上手 Dify TTS 插件!从开发到部署免费文本转语音,测试 + 打包教程全有
  • 使用【阿里云百炼】搭建自己的大模型
  • Linux网络设备分析
  • 构建绿色园区新方案:能源监测+用电安全的综合能源管理系统
  • LeetCode - 227. 基本计算器 II
  • C++ `std::map` 解析:`find`, `end`, `insert` 和 `operator[]`
  • redis 在 nodejs 中如何应用?
  • 常用 Kubernetes (K8s) 命令指南
  • DevSecOps 集成 CI/CD Pipeline:实用指南