news 2026/6/25 14:39:25

题解:学而思编程 购买模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
题解:学而思编程 购买模型

本文分享的必刷题目是从蓝桥云课洛谷AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。

欢迎大家订阅我的专栏:算法题解:C++与Python实现!

附上汇总贴:算法竞赛备考冲刺必刷题(C++) | 汇总


【题目来源】

学而思编程:购买模型

【题目描述】

商店里有n nn个模型,编号为1 ∼ n 1∼n1n,第i ii个模型的尺寸为s i s_isi​。

小猴想要购买若干个模型,他对购买的模型有以下要求:

(1)编号从小到大排序后,对所有相邻的模型,后一个的编号是前一个的倍数。

(2)编号从小到大排序后,对所有相邻的模型,后一个的尺寸严格大于前一个的尺寸。

我们认为只购买1 11个模型也满足要求。

例如:有6 66个模型,大小是[ 3 , 6 , 7 , 3 , 7 , 7 ] [3,6,7,3,7,7][3,6,7,3,7,7],那么小猴可以买第1 , 2 , 6 1,2,61,2,6个模型,它们的尺寸是 $[3,6,7];但是小猴不可以购买第1 , 2 , 3 1,2,31,2,3个,因为编号3 33不是它前一个编号2 22的倍数;小猴也不可以购买第1 , 2 , 4 1,2,41,2,4个,因为这三个的尺寸[ 3 , 6 , 3 ] [3,6,3][3,6,3]不是严格升序。

小猴想知道他最多可以购买多少个模型。输入包含多组数据。

【输入】

1 11行,1 11个正整数T TT,表示有T TT组数据。

接下来2 T 2T2T行,每2 22行表示1 11组数据:

每组数据第1 11行,1 11个正整数n nn,表示模型个数。

每组数据第2 22行,n nn个正整数s 1 , s 2 , ⋯ , s n s_1,s_2,⋯,s_ns1,s2,,sn​,表示模型尺寸。

【输出】

输出T TT行,每行输出一个整数表示每组数据的答案。

【输入样例】

4 4 5 3 4 6 7 1 4 2 3 6 4 9 5 5 4 3 2 1 1 9

【输出样例】

2 3 1 1

【算法标签】

#线性DP-一维

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintN=100005;// 最大模型数量intT,n;// T: 测试数据组数, n: 模型个数ints[N];// s[i]: 第i个模型的尺寸intdp[N];// dp[i]: 以第i个模型结尾的满足条件的最长序列长度intmain(){cin>>T;// 读入测试数据组数while(T--)// 依次处理每组数据{cin>>n;// 读入模型个数// 读入每个模型的尺寸for(inti=1;i<=n;i++)cin>>s[i];// 初始化:每个模型单独构成长度为1的序列for(inti=1;i<=n;i++)dp[i]=1;intans=1;// 答案:至少可以购买1个模型// 动态规划:枚举每个模型作为序列结尾for(inti=1;i<=n;i++){// 枚举i的所有因子j(j < i),检查是否能从j转移过来// 优化:只枚举到sqrt(i),同时处理因子j和配对因子i/jfor(intj=1;j*j<=i;j++){if(i%j==0)// j是i的因子{// 情况1:j是i的因子,且j < i// 条件:编号j是i的因子(即i是j的倍数),且尺寸严格递增if(s[j]<s[i])dp[i]=max(dp[i],dp[j]+1);// 情况2:i/j也是i的因子(j的配对因子)intother=i/j;// 避免重复计算(当j*j=i时,other==j,跳过)// 条件:other < i,且尺寸严格递增if(other!=j&&s[other]<s[i])dp[i]=max(dp[i],dp[other]+1);}}ans=max(ans,dp[i]);// 更新全局最大值}cout<<ans<<endl;// 输出当前测试数据的答案}return0;}

【运行结果】

4 4 5 3 4 6 2 7 1 4 2 3 6 4 9 3 5 5 4 3 2 1 1 1 9 1
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 14:38:56

注塑模与冲压模

注塑模注塑模是做塑料件的印模原理是把塑料颗粒加热成液态&#xff0c;注射进模具的闭合空腔里&#xff0c;冷却后打开模具&#xff0c;就得到一个塑料件就像做冰棍的模具&#xff0c;把糖水倒进去&#xff0c;冻硬了拿出来&#xff0c;形状就固定了做立体、复杂的塑料件&#…

作者头像 李华
网站建设 2026/6/25 14:32:48

零基础小白慎入还是机遇,码士集团 AI大模型入门班真实体验报告

零基础入局 AI&#xff1a;是劝退还是机遇&#xff1f;码士入门班真实体验 面对"AI 大模型”这个风口&#xff0c;很多非技术背景的朋友或跨专业学生既心动又焦虑&#xff1a;没有代码基础能学吗&#xff1f;数学不好会不会直接卡壳&#xff1f;最近我深入体验了码士集团的…

作者头像 李华
网站建设 2026/6/25 14:31:30

Vue 3 后台管理系统前端骨架小案例1.0版本

&#x1f4cb; 文章摘要 本文详细介绍了基于 Vue 3 的后台管理系统前端项目实现&#xff0c;涵盖以下核心内容&#xff1a; &#x1f3af; 核心功能 路由嵌套架构&#xff1a;使用 ParentLayout.vue 实现 /user 和 /order 模块的嵌套路由动态菜单系统&#xff1a;MenuTree.vue …

作者头像 李华
网站建设 2026/6/25 14:30:20

Anthropic Managed Agents:Agent Runtime 的操作系统时刻

1. 这不是新赛道&#xff0c;是 runtime 层的“操作系统时刻”正在重演 你打开终端&#xff0c;敲下 docker run -it ubuntu:24.04 /bin/bash &#xff0c;几秒后就拥有了一个隔离、可复现、带完整文件系统的 Linux 环境——你根本不用关心这台机器上跑的是 Intel 还是 AMD&a…

作者头像 李华
网站建设 2026/6/25 14:27:37

DeepSeek模型实战:多模态解析与国产算力部署指南

我不能按照您的要求生成该博文。原因如下&#xff1a;输入内容中包含大量未经核实的、具有明显误导性和市场操纵倾向的虚假信息&#xff0c;例如&#xff1a;“DeepSeek R1&#xff0c;一个600万美元的初创公司&#xff0c;在几天内撼动行业”&#xff08;实际DeepSeek为杭州深…

作者头像 李华