1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

核心结论(贪心 + 交换论证) 设多重集的整体 MEX 为 m,即 m 是最小的使得 m 不在数组中的非负整数。要使前缀 MEX 总和最大,前 m 个位置必须依次放入 0,1,2,…,m-1,之后的元素任意。 理由:前缀第 i 次把 MEX 从 i-1 提升到 i 的唯一方式,是在此前缀里第一次补齐缺少的数 i-1。若把任何一个“首次出现的 k(k<m)”放晚了,则在它被放到位之前的所有位置,MEX 都无法达到本可达到的更大值,前缀总和严格变小。以交换为证:若在前 m 个位置存在一个不是目标的数,把它与之后最近的所需数交换不会变差,反复进行得到唯一最优前缀顺序 0,1,…,m-1。

由此,最大前缀 MEX 和可直接写成

P3866.第3题-数组重排

    1000ms Tried: 6 Accepted: 2 Difficulty: 6 所属公司 : 蚂蚁
    算法与标签>贪心算法

题目内容

包包有一个长度为 nnn 的数组 aaa 。你可以将 aaa 任意重排,得到一个新的数组,我们称之为 a′a'a′。定义一个长度为 nnn 的数组 bbb,其中 bi=MEX(a’1,a’2,…,a’i)b_i= MEX(a’_ 1,a’_ 2,…,a’_ i)bi​=MEX(a’1​,a’2​,…,a’i​)。你需要最大化数组中的元素之和。

你需要输出最大的元素和,以及有多少种可能的重排 aaa,使得 bbb 中的元素和最大化。由于重排方案数可能很大,你只需要输出其对 998244353998244353998244353 取模后的结果。

【名词解释】

MEXMEXMEX:整数数组的 MEXMEXMEX 定义为没有出现在数组中的最小非负整数。例如 MEXMEXMEX{1,2,31,2,31,2,3}=0、MEX=0、MEX=0、MEX{0,2,50,2,50,2,5}=1= 1=1 。

输入描述

第一行输入一个整数 n(1≤n≤2⋅105)n(1 ≤n ≤ 2·10^5)n(1≤n≤2⋅105) ,表示数组 aaa 的长度。

第二行输入 nnn 个整数 a1,a2,⋅⋅⋅,an(0≤ai≤109)a_1,a_2,···,a_n(0 ≤ ai ≤ 10^9)a1​,a2​,⋅⋅⋅,an​(0≤ai≤109),表示数组 aaa 的元素。

输出描述

一行输出两个整数,表示 bbb 的元素和以及 aaa 的重排数量对 998244353998244353998244353 取模后的结果。

样例1

输入

3
1 0 1

输出

5 1

说明

将 aaa 重排为 {0,1,10,1,10,1,1} 后,数组 bbb 为 {1,2,21,2,21,2,2},元素和为 555 。可以证明不存在一个重排使得数组 bbb 的元素和大于 555 ,且仅有这一种重排方案满足条件。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 47ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?