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分析

思路

我们可以使用 最大堆(或最小堆),来实时维护当前学习过程中最久未遗忘的汉字的记忆值。这样做的好处是:

  1. 每次学习汉字之前,我们可以通过堆来快速地找出哪些汉字已经遗忘(即记忆值为 0)。
  2. 使用优先队列可以避免在每次学习之前遍历所有汉字来衰减记忆值,提升效率。

算法步骤

P3406.第1题-wida的学习计划

    1000ms Tried: 75 Accepted: 20 Difficulty: 6 所属公司 : 阿里
    算法与标签>模拟

题目内容

wida 小朋友快到上学的年纪了,为了帮助他进行识字学习,Tk 设计了一套学习计划。

我们用整数 aia_iai​ 表示汉字类别,相同的数字表示同一个汉字。

学习计划为一个长度为 nnn 的数组 {a1,a2,...,ana_1,a_2,...,a_na1​,a2​,...,an​},Tk 将按照数组顺序依次教给 wida 小朋友。由于 wida 会边学边回看先前学过的汉字记忆,过程具体如下:

  • 当某个汉字 aia_iai​ 是第 xxx 次学习这个汉字,且之前未学过或已遗忘,该次学习令其获得 x2x^2x2 点学习记忆;

  • 当某个汉字 aia_iai​ 是第 xxx 次学习这个汉字,且之前尚未遗忘,该次学习在原有学习记忆上再增加 x2x^2x2 点;

在学习每个汉字之前,所有未遗忘汉字的学习记忆均会衰减 111 点;当某个汉字的学习记忆降为 000 时,即视为遗忘(具体可以移步到样例解释)。

请计算 wida 小朋友在整个学习过程中,任意一时刻最多同时掌握(即未遗忘的)不同汉字的数量。

输入描述

每个测试文件均包含多组测试数据。第一行输入一个整数 T(1≤T≤104)T(1≤T≤10^4)T(1≤T≤104) 代表数据组数;

除此之外,保证单个测试文件中所有 nnn 之和不超过 2×1052×10^52×105 。

每组测试数据描述如下:

  • 第一行输入一个整数 n(1≦n≦2×105)n(1 ≦n ≦ 2×10^5)n(1≦n≦2×105) ,表示学习计划的长度;

  • 第二行输入 nnn 个整数 a1,a2,...,an(1≦ai≦n)a_1,a_2,...,a_n(1 ≦ a_i ≦ n)a1​,a2​,...,an​(1≦ai​≦n) ,表示学习计划中第 iii 次学习的汉字编号。

输出描述

对于每一组测试数据,新起一行,输出一个整数,代表 wida 小朋友在所有时刻最多掌握的不同汉字数量。

样例1

输入

2
3
1 2 3
6
1 1 2 2 3 4

输出

1
3

说明

在第一个样例中,n=3n=3n=3 且序列为 {1,2,31,2,31,2,3},每个汉字仅出现一次,学习后会在下一次学习前遗忘,因此最多同时掌握 111 个汉字。

在第二个样例中,题目将具体解释此样例,对于每一次学习之前以及学习之后数字为 111 ~ 444 的每个学习记忆。

  • 第一个汉字学习前:{0,0,0,00,0,0,00,0,0,0} ,第一个汉字学习后学习后:{1,0,0,01,0,0,01,0,0,0}

  • 第二个汉字学习前:{0,0,0,00,0,0,00,0,0,0} ,第二个汉字学习后学习后:{4,0,0,04,0,0,04,0,0,0}

  • 第三个汉字学习前:{3,0,0,03,0,0,03,0,0,0} ,第三个汉字学习后学习后:{3,1,0,03,1,0,03,1,0,0}

  • 第四个汉字学习前:{2,0,0,02,0,0,02,0,0,0} ,第四个汉字学习后学习后:{2,4,0,02,4,0,02,4,0,0}

  • 第五个汉字学习前:{1,3,0,01,3,0,01,3,0,0} ,第五个汉字学习后学习后:{1,3,1,01,3,1,01,3,1,0}

  • 第六个汉字学习前:{0,2,0,00,2,0,00,2,0,0} ,第六个汉字学习后学习后:{0,2,0,10,2,0,10,2,0,1}

即学完第五个汉字后 wida 小朋友同时掌握的汉字最多,333 个。

登录后即可使用 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, 46ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

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

Forgot password or username?