#GPLT0007. 【GPLT 2026】L1-7 短视频推荐算法

【GPLT 2026】L1-7 短视频推荐算法

题目描述

江月诗平时喜欢刷短视频。为了给她推荐更精准的内容,你被要求开发一个简易的推荐算法,通过模拟她的操作记录,来计算她对各个视频特性标签(Tag)的最终兴趣得分。

用户对视频的操作分为四种:

  • SHARE(分享):强烈的正向反馈,视频包含的所有标签得分 +3+3
  • COIN(投币):较强的正向反馈,视频包含的所有标签得分 +2+2
  • LIKE(点赞):普通的正向反馈,视频包含的所有标签得分 +1+1
  • SKIP(划走):负向反馈,视频包含的所有标签得分 1-1

为了捕捉用户的“上头”瞬间(即连续观看同类内容),系统引入了连击(Combo)机制

  • 每个标签都有一个独立的连击计数器,初始均为 00
  • 当用户执行正向反馈SHARE, COIN, LIKE)时:
    1. 视频中包含的标签,其连击计数器 +1+1一旦某个标签的连击计数器达到 33,该标签会触发“上头”奖励,兴趣得分立即额外 +5+5,随后该标签的连击计数器清零
    2. 注意:视频中未包含的其他所有标签,其连击计数器全部清零(因为连续性被打断)。
  • 当用户执行负向反馈SKIP)时:
    • 打断了所有的浏览兴致,不论标签是否在当前视频中,所有标签的连击计数器全部清零。

所有标签的初始兴趣得分均为 00。现在给出江月诗连续浏览 NN 个视频的操作记录,请你计算出所有至少在记录中出现过一次的标签中,最终兴趣得分最高的标签。

输入格式

输入在第一行给出一个正整数 NN1N1041 \leq N \leq 10^4),表示操作的视频数量。

随后 NN 行,每行描述一次视频浏览记录,格式为:ACTION K F_1 ... F_K

其中 ACTIONSHARE, COIN, LIKE, SKIP 中的一种;KK1K101 \leq K \leq 10)是该视频包含的特性标签数量;FiF_i 是特性标签的编号(1Fi10001 \leq F_i \leq 1000)。数字间以空格分隔。保证同一个视频中的标签编号互不相同。

输出格式

在一行中输出得分最高的特性标签编号和它的最终得分,数字间隔 1 个空格。如果有并列最高分,则输出编号最大的那个。题目保证 N1N \geq 1

输入样例

6
LIKE 3 10 20 30
COIN 2 20 30
SKIP 1 10
SHARE 2 20 40
LIKE 2 20 50
COIN 1 20

输出样例

20 14

样例解释

  • 初始状态:所有标签得分和连击均为 0。
  • 第 1 次 (LIKE 10, 20, 30):
    • 得分变为:10(1分), 20(1分), 30(1分)。
    • 连击变为:10(1连), 20(1连), 30(1连)。其他均清零。
  • 第 2 次 (COIN 20, 30):
    • 得分变为:10(1分), 20(3分), 30(3分)。
    • 连击变为:20(2连), 30(2连)。标签 10 未出现,连击清零。
  • 第 3 次 (SKIP 10):
    • 得分变为:10(0分)。
    • 连击变为:遇到 SKIP,所有标签连击清零(20和30的连击变为0)。
  • 第 4 次 (SHARE 20, 40):
    • 得分变为:20(6分), 40(3分)。
    • 连击变为:20(1连), 40(1连)。其他清零。
  • 第 5 次 (LIKE 20, 50):
    • 得分变为:20(7分), 50(1分)。
    • 连击变为:20(2连), 50(1连)。40的连击清零。
  • 第 6 次 (COIN 20):
    • 得分变为:20(9分)。
    • 连击变为:20(3连)。达到 3 连击,触发奖励,得分额外 +5。20 的最终得分为 9+5=149 + 5 = 14。连击随后清零。50的连击清零。

经过统计,标签 20 得分最高为 14 分。