news 2026/9/1 21:40:00

B站2023校招算法笔试卷B拆解:高频考点与实战策略

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
B站2023校招算法笔试卷B拆解:高频考点与实战策略

去年秋招帮学弟做模拟面试的时候,他拿了一套哔哩哔哩2023校园招聘算法方向的笔试卷B出来,说连着做了两遍,选择题还好,一到编程题和问答题就心里没底。我翻了翻这套卷子,发现它其实很有代表性——它不只是B站的笔试,基本上覆盖了国内互联网大厂算法校招的常见出题范围。这篇文章我就从这套卷子出发,把每一类考点怎么准备、底层原理是什么、答题的坑在哪里,完整拆一遍。不管你是准备投B站,还是打算海投算法岗,这份拆解都能直接用在复习规划里。

1. 先看清这份试卷的“出题逻辑”

1.1 笔试卷B的整体结构与时间压力

先聊个很多人忽略的问题:为什么校招笔试喜欢按A、B卷出题?一般一个批次有两次笔试机会,A卷考挂了会进备胎池,B卷就是给补考或者硬核筛选用的。我对照过不少同学的反馈,B卷的整体难度通常会比A卷稍微高一点,覆盖范围也更杂。B站这套算法卷,题型大致是单选、多选、填空题加上两到三道编程题,最后还会有一两行简答题,时间一般是90到120分钟。听起来时间不少,但实际做题会发现,真正难的不是每道题有多深,而是你在有限时间内能不能快速切换思维状态。

我画过一个时间分配模型:如果卷面是90分钟,选择题和填空题最好控制在20到25分钟内,编程题每题留20到30分钟,简答题最后剩10到15分钟。很多同学一上来就跟第一道编程题死磕,等AC了再看表,剩下40分钟连蒙带猜做其他题,基本就崩了。笔试的筛选思路是“先看全面性,再看深度”,你把基础题全拿稳,比在某一道题上写出最优解更重要。

这套卷还有一个特点:题目表面是B站风格,比如直播间连麦调度、视频推荐召回、弹幕去重,但剥开外壳以后全是经典算法问题。所以备考的时候不要只看校园招聘题库里那几十道题,更要把“业务场景”翻译成“数据结构与算法”的能力练出来。面试官要的不是你会背某个模板,而是给你一个带着业务壳的问题,你能认出它到底在考什么。

1.2 为什么算法岗笔试几乎都绕着“排序、匹配、路径、优化”转

做了几年校招相关的内容,我发现算法笔试题再怎么变,核心场景永远集中在四个方向:排序与TopK、字符串与模式匹配、图论与路径规划、优化问题与动态规划。这不是出题人偷懒,而是因为这些基础能力在真实业务里用得最多。

拿B站举例,你刷到的视频推荐流本质上就是“海量内容按某个分数排序后取TopK”;弹幕审核里的敏感词过滤,落到实现层就是多模式字符串匹配;直播CDN节点选择、视频转码任务调度,能抽象成图上的最短路径或最小费用流;而搜推广场景里的CTR预测、超参调优,又会用上各种优化算法。笔试考排序和KMP,不是让你毕业以后手写快排,而是考察你有没有理解这些底层工具的边界和代价。

所以我给学弟的建议很直接:复习的时候,不要按“今天刷链表、明天刷树”这种单一模式走,而是按场景去组织知识。比如把所有能解决“第K大”问题的方法放到一起对比——快速选择、堆、排序后取下标、甚至Partition变形。等你在脑子里有了一堆“场景—算法—复杂度—适用边界”的映射表,做笔试卷B这种混合题型就会顺畅很多。

2. 数据结构与基础算法:最容易拿分也最容易翻车的板块

2.1 排序算法:快排、堆排、冒泡的高频考点

这套卷子里排序算法几乎每年都会出现,而且考法越来越刁钻。以前就是“写出快排代码”或者“快排时间复杂度是多少”,现在则喜欢考边界情况和稳定性判断。我整理了一张对比表,是笔试前必须刻在脑子里的:

排序算法平均时间复杂度最坏时间复杂度额外空间稳定性
冒泡排序O(n²)O(n²)O(1)稳定
快速排序O(n log n)O(n²)O(log n)(递归栈)不稳定
堆排序O(n log n)O(n log n)O(1)不稳定
归并排序O(n log n)O(n log n)O(n)稳定

笔试里常挖的一个坑是“快排什么时候退化成O(n²)”。如果每次选取的pivot都是当前区间最小或最大元素,划分极度不均衡,递归深度就变成n,时间复杂度退化成O(n²)。解决方法就是随机选pivot或者三数取中。再追问一步,为什么快排不稳定?因为Partition过程中元素会隔着距离交换,相同的值可能被换到另一边去,相对顺序没法保证。

堆排序的易错点在于建堆过程。从最后一个非叶子节点,也就是下标n/2 - 1开始,从下往上做向下调整。很多人把建堆写成了从堆顶往下调整,那就成了“把数组当堆”的错觉。笔试考动态TopK的时候,堆是一个很关键的思路:维护一个大小为K的小顶堆,新元素如果比堆顶大就替换并调整,这样堆里始终是最大的K个元素,时间复杂度O(n log K)。这和堆排序“排序整个数组”是两种用法,一定要分清。

2.2 KMP和next数组:从“abacaba”看模式匹配的边界问题

字符串匹配是笔试试卷的保留节目,而KMP算法又几乎是最常考的。热词里有一道很典型的题:模式串p="abacaba",求其next数组。这里next[i]的定义在不同教材里略有差异,答题时务必看清楚题干给的是“从1开始下标”还是“从0开始下标”,否则答案会差一位。我按常见的“next[i]表示p[0..i-1]的最长相等前后缀长度”来算,也就是next[0]=-1,迁移到从1开始的表示法时要整体加1:

下标i子串p[0..i]最长相等前后缀长度next[i](从0开始)
0a不存在-1
1ab00
2aba1(前缀a,后缀a)1
3abac00
4abaca1(前缀a,后缀a)1
5abacab2(前缀ab,后缀ab)2
6abacaba3(前缀aba,后缀aba)3

很多同学背KMP模板背得很熟,但一到“求next数组”这种题就翻车,原因是对“最长相等前后缀”这个概念理解不透。前后缀的定义是:前缀不能包含最后一个字符,后缀不能包含第一个字符。所以求某个位置的next值,本质是在它前面的所有前缀后缀里找最长的、完全相等的那一对。

KMP能写成O(n+m)时间复杂度的核心,就是失配时不需要回退主串指针,而是通过next数组把模式串向右滑动到合适位置。这个“主串不回头”的思想比代码本身更重要。笔试如果考KMP的改进版,也就是nextval,则要在next数组基础上再检查一次p[i]与p[next[i]]是否相等,若相等则继续向前跳转,目的是进一步减少无意义的比较。这两者的区别,面试官一句话就能问出来。

2.3 Dijkstra、快速幂、贪心:三类爱考的基础算法

图论里最常考的不是复杂的网络流,而是Dijkstra最短路径。B站的笔试场景会包装成“直播间转播线路切换,从源站到边缘节点找最低延迟路线”。Dijkstra是典型的贪心思想,每次从未访问节点中选距离最小的节点,用优先队列优化后复杂度为O((V+E) log V)。这里有个高频坑:Dijkstra不能处理负权边,因为一旦出现负权,当前距离最小的节点可能在后续被更短的路径更新,而它已经被标记为“已确定”。遇到负权图要用Bellman-Ford或SPFA。

快速幂算法是数论和动态规划里都爱考的基础工具。题目一般就这么出:计算a的b次方对mod取模,b的范围能到10的18次方。核心思路是把指数b写成二进制,按位处理。C++模板可以这样写:

long long fastPow(long long a, long long b, long long mod) { long long res = 1 % mod; a %= mod; while (b > 0) { if (b & 1) { res = res * a % mod; } a = a * a % mod; b >>= 1; } return res; }

这里有两个细节容易被忽略。一是res初始化为“1 % mod”,防止mod=1导致结果不对。二是每一步乘完都取模,避免中间结果溢出long long。如果题目里模数是1e9+7这种大质数,乘法用long long是安全的;如果模数更大到1e18级别,就得用快速乘或者__int128,否则乘法溢出会让答案直接错。

贪心算法在笔试卷里常常以小应用题出现,比如“活动安排问题”“区间覆盖问题”。贪心最难的其实不是写代码,而是证明贪心策略的正确性。笔试答题时,建议用“交换论证法”简短写几句:假设最优解里存在和贪心选择不同的安排,通过交换可以变成贪心解而不破坏可行性,因此贪心解就是最优解。能把证明思路写出来,哪怕不完整,也能让阅卷人看到你有算法思维,而不是只会背题。

3. 机器学习与深度学习:笔试里的“业务向”考察

3.1 KNN为什么会问“应用能力包括哪三个方面”

热词里专门有一条“KNN算法的应用能力包括哪三个方面”,这明显是笔试原题或者面试题的变体。KNN(K近邻)是机器学习里最简单的非参数方法之一,它的应用能力可以从三个维度去理解:分类、回归和缺失值填充/异常检测。

分类是KNN最常见的用法,把待预测样本的K个最近邻居找出来,按多数投票决定类别;回归则是对K个邻居的目标值取平均或加权平均,预测连续值;在异常检测场景里,可以计算每个样本到其K近邻的平均距离,距离明显偏大的样本就是离群点。KNN在B站这种内容平台落地时,常见的是做用户兴趣相似度匹配——找到和你历史行为最像的一批用户,把他们都喜欢的视频推荐给你,本质上就是KNN思想的应用。

KNN笔试里还有个必考点是“特征缩放的重要性”。KNN依赖距离度量,如果某个特征的量纲特别大,比如播放时长有10万秒,而另一个特征只有0到1,欧氏距离就会被播放时长主导。解决办法是做标准化或归一化。另外,K值选择也很讲究:K太小容易过拟合,噪声样本会直接影响预测结果;K太大容易欠拟合,把很多不同类别的样本都卷进投票范围。笔试里如果问你K怎么选,答“交叉验证”基本不会错。

3.2 聚类算法在内容分发里的落地

聚类在笔试卷里通常以概念题或简单计算题出现,但考察频率很高。K-Means的流程是:先随机选K个中心点,然后把每个样本分配到最近的中心点所在的簇,再重新计算每个簇的均值作为新中心,反复迭代直到中心变化很小或达到最大迭代次数。它的优化目标是最小化所有样本到所属簇中心的平方距离之和。

笔试高频坑是K-Means的两个先天缺陷。一是K值需要事先指定,实际业务里你不知道应该把用户分成几类才最合理。常见解决方法是肘部法则:画簇内误差平方和SSE随K变化的曲线,找拐点,但拐点多多少少带点主观性。二是K-Means对初始中心点敏感,不同的初始化可能得到完全不同的聚类结果,所以工程上常用K-Means++做初始化,让初始中心点互相离得远一点。

聚类算法在B站的典型应用是视频内容聚合和弹幕主题聚类。比如把用户上传的大量视频按画面特征或标题语义聚类,辅助运营做内容分层;再比如把同一时间段大量弹幕做聚类,能提取出大家都在讨论的梗或者重点。笔试如果出“结合实际业务设计一个聚类方案”,不要只答算法流程,一定要提数据怎么清洗、特征怎么选、K怎么定、结果怎么评估——这才会让阅卷人觉得你是能干活的。

3.3 强化学习和深度学习的常见送命题

这套笔试卷对强化学习的考察不算深,但会问基础概念。Q-Learning的核心更新公式是Q(s,a) = Q(s,a) + α[r + γ * max(Q(s',a')) - Q(s,a)],这个公式必须能默写。其中α是学习率,γ是折扣因子,max(Q(s',a'))表示下一状态所有动作里Q值的最大值。笔试常问的问题是“探索和利用怎么平衡”,标准答法是ε-greedy策略:以ε的概率随机探索新动作,以1-ε的概率选择当前Q值最大的动作。

深度学习部分更偏向概念辨析,比如问“Batch Normalization为什么能加速训练”“Dropout为什么能缓解过拟合”。前者是因为BN把每层的输入分布拉回到均值为0、方差为1的相对稳定状态,避免梯度消失或梯度爆炸,从而可以使用更大的学习率;后者是训练时随机丢弃一部分神经元,迫使网络学习到更鲁棒的特征,而推理时要把权重乘以保留概率做补偿。

还有一个容易被问住的细节:训练集和验证集的划分方式。很多同学答“按8比2随机切分”,但笔试常会追问“如果数据有类别不均衡怎么办”。这时候要答分层抽样,保证切分后训练集和验证集里各类别比例和原始数据一致。再深一层,如果数据存在时间顺序,比如弹幕热度预测,就不能随机切分,必须按时间切,否则就是用未来数据预测过去,产生数据泄漏。

4. 容易被忽略,却真实出现的扩展算法考点

4.1 粒子群、模拟退火:两种典型的启发式优化

粒子群算法(PSO)和模拟退火(SA)在校招笔试里通常作为选择题或判断题出现,但B站这套B卷里它们其实是拿来考“你对优化算法有没有全局视野”的。粒子群算法的灵感来自鸟群觅食,每个粒子有位置和速度,位置代表候选解,速度代表搜索方向。每次迭代粒子会向两个方向更新:一个是自己历史最优位置pbest,一个是群体历史最优位置gbest。

粒子群的核心更新公式是:v = wv + c1r1*(pbest-x) + c2r2(gbest-x),x = x + v。其中w是惯性权重,控制保留上一次速度的程度;c1是自我学习因子,c2是社会学习因子,r1和r2是0到1的随机数。笔试如果问“w太大或太小的影响”,标准答法是:w太大全局搜索能力强,但收敛慢;w太小容易陷入局部最优。很多领域做超参寻优,比如调XGBoost或者神经网络的超参数,如果参数空间连续且没有梯度信息,粒子群是比网格搜索更高效的方案。

模拟退火的核心是Metropolis准则:如果新解比当前解好,无条件接受;如果更差,以概率exp(-ΔE/T)接受,其中ΔE是能量差,T是当前温度。高温时接受差解的概率大,有利于跳出局部最优;温度逐步降低,接受差解的概率变小,最终收敛到近似最优解。笔试里模拟退火常和旅行商问题、排班问题结合起来考,你不用现场实现完整的SA,但必须说清楚“初始温度怎么设置、降温速率取多少、终止条件是什么”。这些细节最能区分真懂和假懂。

4.2 卡尔曼滤波和PID:状态估计与控制算法的经典组合

卡尔曼滤波出现在笔试里可能会让不少同学意外,但B站的音视频链路、服务器电源控制、传感器数据处理都有它的影子。卡尔曼滤波解决的核心问题是:系统有噪声,观测也有噪声,我该怎么估计真实的系统状态。经典五条公式分两组:预测组和更新组。预测根据系统模型推算出当前状态和协方差,更新则结合观测值对预测结果做修正,最终输出的状态估计是“预测”和“观测”的加权融合,权重由两者噪声大小决定。

笔试对卡尔曼滤波的考察一般不会要求推导公式,但会问“卡尔曼滤波和高斯滤波的区别”“卡尔曼滤波的假设是什么”。标准答法是:卡尔曼滤波假设系统是线性的、噪声服从高斯分布,且状态转移矩阵和观测矩阵已知。如果系统是非线性的,需要扩展卡尔曼滤波(EKF)或无迹卡尔曼滤波(UKF),通过局部线性化或者采样点逼近来近似非线性变换。

PID算法在热词里出现了两种业务场景,一个是CRPS电源,一个是无人机/机器人控制。PID三个字母对应比例、积分、微分三个环节:P项根据当前误差大小做修正,I项累积历史误差消除稳态误差,D项根据误差变化趋势提前抑制超调。笔试里最常见的操作题是“系统出现稳态误差,该调哪个参数”——答案是加大Ki,积分项能消除系统长时间存在的固定偏差。而“系统超调严重、震荡剧烈”则优先调大Kd,或适当减小Kp。这三个参数的调节顺序是我实际调参的经验:先调P让系统稳定,再调I消除稳态误差,最后调D抑制超调。这种经验比单纯背公式更能体现工程能力。

4.3 SM2/SM3/SM4/ZUC、音频重采样、图像锐化:业务驱动的偏门考点

有时候笔试卷会混入一些“看着和算法岗不搭”的题,其实它们背后都有业务逻辑。B站涉及视频内容安全、账号加密、播放鉴权,所以商用密码算法也会偶尔作为选择题出现。SM2是椭圆曲线公钥密码算法,用于加解密和数字签名;SM3是密码杂凑算法,输出256位摘要,常用于完整性校验;SM4是分组密码算法,用于数据加密;ZUC是流密码算法,主要用于移动通信和实时加密场景。笔试只需知道它们各自属于哪一类、应用在哪个环节即可,一般不要求手动实现。

音频重采样算法会出现在音视频部门的算法题里,考的是“把44.1kHz采样率转成48kHz怎么做”。最基础的方法是线性插值,但音频信号对质量要求高,直接线性插值会引入混叠失真,工程上常用多相滤波器实现,在时域做高倍插值、低通滤波、抽取三步。图像锐化的拉普拉斯算法则常考一个卷积核:中心为-4(或正4),上下左右为1(或负1)。锐化的原理是原图加上拉普拉斯算子提取的边缘信息,公式写作g(x,y) = f(x,y) - ∇²f(按中心取负的算子约定)。这类题目不需要你现场写几万行工程代码,但它能考察你是否愿意深入了解业务链路里用到的算法,而不是只会刷LeetCode。

5. 笔试实战:答题策略、易错点与排查技巧

5.1 答题顺序与时间分配的实测经验

我见过太多同学在笔试时因为顺序不对导致翻车。按我自己的实测经验,最优策略是先花1分钟快速扫一遍全部题目,标记出“会做的”“有点思路的”“完全没思路的”。然后优先做完全会做的题,把分先拿到手;再做有点思路的题,每道题限制时间,超时就先跳;最后再攻克完全没思路的题。不要期望每道题都AC,笔试是选拔性考试,你比同批人拿到的分数高就能进面。

还有一个很多人忽视的点:编程题里除了正确性,要考虑边界条件。比如输入为空、数组长度为1、目标值不存在时程序会不会崩。笔试平台的测试用例里藏着大量边界用例,你写出的代码如果只在样例上通过,一提交就出现“段错误”或“数组越界”,那基本就是边界处理没做好。我在帮学弟复盘时经常说:写代码前先用两分钟把输入类型、取值范围、是否可能有负数、是否会溢出这些问题在草稿上列出来,再动手,其实比写完之后反复调试更省时间。

选择题和填空题的答题策略也很关键。遇到不会的题不要空着,排除掉明显错误的选项,再根据常识判断。像“快排最坏时间复杂度是O(n²)”这种题,即使忘了是快排还是归并,也可以从“不稳定+最坏退化”的记忆点反推。如果填空题要求写某个算法的复杂度,尽量带上推导,比如“堆排序建堆O(n),每次调整O(log n),共n-1次,所以总复杂度O(n log n)”,这样即使最后结论写错,阅卷也可能给步骤分。

5.2 编程题里反复出现的几个隐患

这套笔试卷的编程题,我把它常考的隐患整理成了排查清单,笔试前过一遍:

隐患现象原因解决方法
整数溢出大数用例WAint相乘超出2^31-1使用long long,涉及取模及时mod
递归栈溢出大数据用例RE递归深度过大改迭代实现,或设置更大栈空间
快排退化有序数组TLE固定选第一个元素作为pivot随机选pivot或三数取中
KMP越界失配时j+1越界next数组边界没处理手动模拟一遍abacaba
优先队列比较器写反TopK结果相反大顶堆小顶堆用混仔细审题确认是求最大还是最小

比如快速排序,如果你的实现固定选择第一个元素作为pivot,而测试数据里有“几乎有序”的序列,递归深度趋近于n,程序直接爆栈。笔试平台不会告诉你“你的算法退化了”,只会显示“运行超时”。这一类非显性错误很难排查,最有效的办法就是写完排序或搜索类代码后,自己补一个“有序数组”“逆序数组”“全等数组”的测试用例跑一遍。

另一个高频坑是返回值的类型。题目让你返回的是“最少操作次数”还是“操作方案”,是“数组索引”还是“数组元素”,有时候就差这一行改错导致完全不对。做题时先把题目里的输出描述圈出来,写代码前确认一遍。

5.3 主观题答题框架:“原理+复杂度+场景”三段式

笔试卷最后的简答题或者设计题,是很多人放弃的板块,但其实这类题有固定的得分框架。我在给学弟讲题的时候反复强调一个三段式答法:先写原理,再写复杂度,最后写场景适配。这三段都写全,即使分析不够精准,也能拿到大部分分数。

举一个真实场景题目:“如何设计一个弹幕实时去重系统”。原理部分,可以写用哈希表存储最近时间窗口内的弹幕指纹,指纹可以用MD5或SimHash提取;复杂度部分,写出时间O(n)、空间O(m),其中n是弹幕数量,m是滑动窗口大小;场景适配部分,说明弹幕具有短时重复率高、总量大的特征,滑动窗口比较合适,但要注意哈希冲突率和内存上限,如果内存不够可以考虑布隆过滤器。这样分段作答,阅卷人能快速抓到你的知识结构,比长篇大论更有效。

如果是“请设计一个视频推荐召回算法”这类开放性更强的题,框架同样适用。先写召回阶段用协同过滤、双塔模型、向量检索中的哪一种,再说明离线训练流程和在线服务链路,最后给出复杂度预估和评估指标,比如召回率、精确率、AUC。哪怕没有真正做过推荐系统,只要把原理讲清楚、数据流向写明白,也能展示扎实的算法基础。

另外注意,主观题里提到“模型训练”时,最好能顺带写一句数据划分和评估方式。比如“按用户行为时间划分训练集和测试集,避免数据泄漏”,这类细节是区分“背过八股”和“真正做过项目”的关键。

我在实际带人刷这套卷的时候,最大的体会是:算法笔试考察的不只是一堆知识点的堆砌,而是你在压力下能不能保持结构化思维。很多人拿到试卷第一反应是“这题我没见过”,但如果你能把它往经典算法框架上靠,找到对应的模型,再按“原理—复杂度—边界条件—业务场景”的顺序逐步展开,绝大多数题都能找到突破口。这份拆解不是让你死记答案,而是帮你建立一套应对任何算法笔试的思考路径。最后再分享一个小技巧:每做完一道题,不要急着看题解,先在草稿纸上把“我用了什么数据结构、为什么用这个、复杂度是多少、最坏情况是什么”写下来。坚持一个月,你会发现自己做笔试卷的状态完全不一样。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/1 21:32:39

数据开发笔试复盘:SQL、数据倾斜与数仓建模要点

我当年拿到这套“哔哩哔哩2020校园招聘数据开发方向笔试卷(二)”的时候,第一反应是:这不就是一份SQL加Java的混合卷吗?后来认真刷完才发现,数据开发笔试的考察逻辑和普通后端开发完全不同,它更看…

作者头像 李华
网站建设 2026/9/1 21:32:03

Ubuntu零基础入门到精通【5.5讲】:PPA 软件源的使用与风险——当官方仓库不够用时,你该怎么做?

🏆 本文收录于 《滚雪球学 Ubuntu》 专栏。 本专栏面向有一定计算机基础,但尚未系统学习 Linux / Ubuntu 的读者,采用“滚雪球式学习法”:先装好、再会用、再理解、再优化、再实战,带你从第一次进入 Ubuntu 桌面 / 终端开始,逐步掌握 Ubuntu 的日常使用、命令操作、软件…

作者头像 李华
网站建设 2026/9/1 21:24:53

3Ds Max2027安装包+教程网盘资源下载与安装指南

如大家所熟悉、了解的,3Ds Max是3D Studio Max的简称,也被大家称为3Dmax,它是一款专业三维建模、动画和渲染软件‌,广泛应用于影视、游戏、建筑可视化等领域,是行业标杆级的三维创作工具。目前来看,3Ds Max…

作者头像 李华
网站建设 2026/9/1 21:24:21

OxiCloud项目WebDAV技术实现深度解析

OxiCloud项目WebDAV技术实现深度解析 【免费下载链接】OxiCloud ☁️ Ultra-fast, secure & lightweight self-hosted cloud storage — your files, photos, calendars & contacts, all in one place. Built in Rust. 项目地址: https://gitcode.com/gh_mirrors/ox/…

作者头像 李华
网站建设 2026/9/1 21:20:18

PDFMathTranslate 部署与公网访问教程:从本机运行到团队共享

PDFMathTranslate 部署与公网访问教程:从本机运行到团队共享 【免费下载链接】PDFMathTranslate [EMNLP 2025 Demo] PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama…

作者头像 李华