NOIP提高组模拟试题(Day1)及详细答案解析.docxVIP

  • 0
  • 0
  • 约4.91千字
  • 约 9页
  • 2026-09-20 发布于河北
  • 举报

NOIP提高组模拟试题(Day1)及详细答案解析.docx

NOIP提高组模拟试题(Day1)及详细答案解析

考试时长:3小时

满分:300分(每题100分)

题目说明:三道题目均为标准提高组难度,涵盖基础数论、模拟贪心、树形DP核心考点,贴合历年NOIP真题出题风格,无偏题怪题。

T1数字拆分(100分)

题目描述

给定一个正整数n,要求将n拆分为若干个互不相同的正整数之和,使得拆分出的所有数字的乘积最大。输出这个最大乘积。

例如:n=8,最优拆分方案为2+6(乘积12)或3+5(乘积15),最大乘积为15。

输入格式

一行一个正整数n。

输出格式

一行一个整数,表示最大乘积。

数据范围

对于30%的数据:n≤10

对于60%的数据:n≤100

对于100%的数据:3≤n≤1000

样例输入1

8

样例输出1

15

样例输入2

10

样例输出2

30

解题思路

本题为经典贪心拆分问题,核心规律:拆分的数字越连续、越接近自然数列,乘积越大,且严格保证数字互不相同。

1、优先从2开始累加连续自然数,直到累加和超过n;

2、记录剩余差值rest=n-累加和;

3、若rest为0,直接累乘所有连续数即可;

4、若rest不为0,从最大的数开始依次+1分配余数,保证数字不重复;若余数恰好等于当前数列长度,直接给所有数统一+1。

该贪心策略可保证在数字互不相同的前提下,乘积最大化,时间复杂度O(n),完全适配题目

文档评论(0)

1亿VIP精品文档

相关文档