小红需要实现 Expert Choice Routing。给定 n 个 d 维 Token、门控矩阵和 e 个专家变换矩阵: 1. 对每个 Token 计算 X_iW_g ,并在专家维度上使用数值稳定 Softmax 得到门控权重; 2. 每个专家独立选择门控权重最高的 s 个 Token,权重相同时选择编号较小者; 3. 对被专家选中的 Token 计算行向量 X_iW_e ,乘对应门控权重并累加到输出。未被任何专家选中的 Token 输出零向量。 若第一行维度不满足约束,输出一行 `0`。
第一行输入 n,d,e,s 。 接着输入 n 行 Token 矩阵 X ,每行 d 个数;再输入 d 行门控矩阵 W_g ,每行 e 个数;最后依次输入 e 个专家矩阵,每个矩阵为 d 行、每行 d 个数。 合法输入满足 1 ≤ n,d,e ≤ 50 、 1 ≤ s ≤ n ,所有浮点数绝对值不超过 100 。
合法输入输出 n 行,每行 d 个浮点数,保留两位小数;维度非法则输出 `0`。
4 3 2 3 1.0 0.5 0.2 0.8 0.3 0.9 0.2 0.7 0.4 0.5 0.1 0.6 0.3 0.7 0.5 0.2 0.2 0.1 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.5 0.0 0.0 0.0 0.5 0.0 0.0 0.0 0.5
0.28 0.14 0.06 0.59 0.22 0.66 0.11 0.38 0.22 0.37 0.07 0.44
3 2 2 0 1.0 0.5 0.5 1.0 0.2 0.3 0.1 0.2 0.8 0.6 0.2 0.4 0.9 0.1 0.1 0.8 0.0 0.1
0
考点:模拟
数据规模 n ≤ 50 | 限制 1 秒 / 256MB | 标准输入输出
推荐方向:模拟
本题切入点
按 Expert Choice Routing 流程实现:先对每个 Token 在专家维度做数值稳定 softmax 得门控权重,再让每个专家独立挑权重最高的 s 个 Token(同分取编号小者),最后加权累加各专家输出。
不涉及复杂算法,把题目描述的流程原样翻译成代码逐步执行即可。
思路框架(模拟 通法 · 非本题专属)
实现要点:结构上通常是一个外层循环包住若干 if/else 分支;只要状态定义清楚,正确率很高。
复杂度:时间 O(操作次数) | 空间 O(状态数)
该范式的通法易错点
对照本题
样例 1:输入 4 3 2 3 / 1.0 0.5 0.2 / 0.8 0.3 0.9 / 0.2 0.7 0.4 / 0.5 0.1 0.6 / 0.3 0.7 / 0.5 0.2 / 0.2 0.1 / 1.0 → 输出 0.28 0.14 0.06 / 0.59 0.22 0.66 / 0.11 0.38 0.22 / 0.37 0.07 0.44
每个专家按归一化门控权重独立选择三个 Token,再对专家输出加权求和。
样例 2:输入 3 2 2 0 / 1.0 0.5 / 0.5 1.0 / 0.2 0.3 / 0.1 0.2 / 0.8 0.6 / 0.2 0.4 / 0.9 0.1 / 0.1 0.8 / 0.0 0.1 → 输出 0
s=0 不满足合法维度约束。
解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2026年-华为-06月12号AI岗。