发布时间:2026/6/29 18:00:26
山东大学软件学院人工智能直博预推免机试模拟卷(1)
这套题重点补双指针 二分查找 DFS / BFS 连通块 0/1 背包 字符串动态规划不属于官方真题是按预推免机试常见难度设计的模拟题。C1. 最长无重复字符子串题目描述给定一个字符串 s请求出其中不含重复字符的最长连续子串长度。输入格式输入一个字符串 s。输出格式输出最长无重复字符子串的长度。示例输入abcabcbb输出3解释最长无重复子串是 abc长度为 3。考点双指针 滑动窗口 哈希记录参考代码#include bits/stdc.h using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); string s; cin s; vectorint lastPosition(256, -1); int left 0; int answer 0; for (int right 0; right (int)s.size(); right) { char ch s[right]; if (lastPosition[ch] left) { left lastPosition[ch] 1; } lastPosition[ch] right; answer max(answer, right - left 1); } cout answer \n; return 0; }C2. 第一个大于等于目标值的位置题目描述给定一个长度为 n 的升序数组以及 q 次查询。每次查询给定一个整数 x请输出数组中第一个大于等于 x 的元素位置。如果不存在这样的元素输出-1。数组下标从 1 开始。输入格式第一行输入 n 和 q。第二行输入 n 个升序整数。接下来 q 行每行输入一个整数 x。输出格式每次查询输出一行答案。示例输入5 4 1 3 5 7 9 4 5 10 1输出3 3 -1 1考点二分查找 lower_bound 边界处理参考代码#include bits/stdc.h using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, q; cin n q; vectorint a(n 1); for (int i 1; i n; i) { cin a[i]; } while (q--) { int x; cin x; int left 1; int right n; int answer -1; while (left right) { int mid left (right - left) / 2; if (a[mid] x) { answer mid; right mid - 1; } else { left mid 1; } } cout answer \n; } return 0; }C3. 岛屿数量题目描述给定一个 n × m 的地图。地图中1 表示陆地 0 表示海洋上下左右相邻的陆地属于同一个岛屿。请输出地图中岛屿的数量。输入格式第一行输入 n 和 m。接下来 n 行每行输入一个长度为 m 的字符串只包含0和1。输出格式输出岛屿数量。示例输入4 5 11000 11000 00100 00011输出3考点DFS BFS 连通块 矩阵搜索参考代码#include bits/stdc.h using namespace std; int n, m; vectorstring grid; vectorvectorint visited; int dx[4] {1, -1, 0, 0}; int dy[4] {0, 0, 1, -1}; void dfs(int x, int y) { visited[x][y] 1; for (int k 0; k 4; k) { int nx x dx[k]; int ny y dy[k]; if (nx 0 || nx n || ny 0 || ny m) continue; if (visited[nx][ny]) continue; if (grid[nx][ny] 0) continue; dfs(nx, ny); } } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin n m; grid.resize(n); visited.assign(n, vectorint(m, 0)); for (int i 0; i n; i) { cin grid[i]; } int answer 0; for (int i 0; i n; i) { for (int j 0; j m; j) { if (grid[i][j] 1 !visited[i][j]) { answer; dfs(i, j); } } } cout answer \n; return 0; }C4. 0/1 背包问题题目描述有 n 件物品和一个容量为 W 的背包。第 i 件物品的重量为weight[i]价值为value[i]。每件物品最多只能选择一次。请问在不超过背包容量的前提下能够获得的最大价值是多少输入格式第一行输入 n 和 W。接下来 n 行每行输入两个整数weight value输出格式输出最大价值。示例输入4 5 1 2 2 4 3 4 4 5输出8解释选择第 2 件和第 3 件物品总重量为 5总价值为 8。考点动态规划 0/1 背包 空间优化参考代码#include bits/stdc.h using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, W; cin n W; vectorint dp(W 1, 0); for (int i 1; i n; i) { int weight, value; cin weight value; for (int j W; j weight; j--) { dp[j] max(dp[j], dp[j - weight] value); } } cout dp[W] \n; return 0; }C5. 最长公共子序列题目描述给定两个字符串 a 和 b请求出它们的最长公共子序列长度。子序列不要求连续但要求相对顺序一致。输入格式第一行输入字符串 a。第二行输入字符串 b。输出格式输出最长公共子序列长度。示例输入abcde ace输出3解释最长公共子序列是 ace长度为 3。考点字符串动态规划 二维 DP 经典 LCS 问题参考代码#include bits/stdc.h using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); string a, b; cin a b; int n a.size(); int m b.size(); vectorvectorint dp(n 1, vectorint(m 1, 0)); for (int i 1; i n; i) { for (int j 1; j m; j) { if (a[i - 1] b[j - 1]) { dp[i][j] dp[i - 1][j - 1] 1; } else { dp[i][j] max(dp[i - 1][j], dp[i][j - 1]); } } } cout dp[n][m] \n; return 0; }这套卷的复习价值这套 C 卷主要补 A、B 卷没有完全覆盖的几个高频点C1滑动窗口处理字符串连续区间问题 C2二分查找考察边界和模板稳定性 C3DFS 连通块图搜索基础 C40/1 背包经典动态规划 C5LCS字符串动态规划对于保研机试来说最容易翻车的不是不会难算法而是二分边界写错 DFS 没有 visited 背包循环方向写反 字符串 DP 下标错一位 题目读错“连续”和“不连续”。这 5 道题刚好专门训练这些坑。

相关新闻

AI 建议把 HTTP 连接池从 20 调到 200,为什么下游超时反而更严重
2026/6/29 18:00:26

AI 建议把 HTTP 连接池从 20 调到 200,为什么下游超时反而更严重

很多接口超时问题,最容易得到的一条建议是:连接池太小了,把最大连接数调大,排队就会少,接口自然会更快。 于是,一个原本配置为 20 的 HTTP 连接池,很快被改成 200: http:client:max-…

阅读更多
STP(MSTP)完整配置实战 —— 华为交换机 HCIA 实验
2026/6/29 18:00:26

STP(MSTP)完整配置实战 —— 华为交换机 HCIA 实验

文章目录实验环境与需求说明MSTP 核心规划方案四台交换机完整配置 3.1 LSW1(Instance 0 总根桥) 3.2 LSW8(Instance 2 / VLAN2 主根桥) 3.3 LSW3(Instance 3 / VLAN3 主根桥,安全特性部署) 3.4 …

阅读更多
FreeRTOS源码详解(七)——Counter
2026/6/29 18:00:26

FreeRTOS源码详解(七)——Counter

阅读更多
Redis 内存分配器调优方案
2026/6/29 19:00:26

Redis 内存分配器调优方案

Redis作为高性能的内存数据库,其内存分配效率直接影响系统性能和资源利用率。默认的jemalloc分配器虽能应对多数场景,但在高并发或特殊负载下可能出现内存碎片、分配延迟等问题。本文将深入探讨Redis内存分配器的调优方案,帮助开发者挖掘性能…

阅读更多
OBS-ASIO插件终极指南:实现专业音频设备的低延迟录制与直播
2026/6/29 19:00:26

OBS-ASIO插件终极指南:实现专业音频设备的低延迟录制与直播

OBS-ASIO插件终极指南:实现专业音频设备的低延迟录制与直播 【免费下载链接】obs-asio ASIO plugin for OBS-Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-asio OBS-ASIO插件是OBS Studio音频录制的革命性解决方案,专为专业音频设备用…

阅读更多
汽车级D类放大器评估实战:从TAS5412-Q1 EVM硬件连接到GUI软件调试
2026/6/29 19:00:26

汽车级D类放大器评估实战:从TAS5412-Q1 EVM硬件连接到GUI软件调试

1. 项目概述:从芯片到系统,一次搞懂汽车级D类放大器评估如果你正在为车载信息娱乐系统、工业控制面板或者任何需要高保真音频输出的嵌入式设备选型,那么D类放大器大概率是你的必经之路。我接触过不少音频项目,从消费级到车规级&am…

阅读更多
Hackbar 2.1.3实战指南:浏览器渗透测试插件核心功能与SQL注入应用
2026/6/29 19:00:26

Hackbar 2.1.3实战指南:浏览器渗透测试插件核心功能与SQL注入应用

1. 项目概述:Hackbar 2.1.3,渗透测试的“瑞士军刀”如果你是一名Web安全爱好者或者刚入行的渗透测试工程师,那么你一定对浏览器开发者工具(F12)里那些需要手动拼接的URL参数、反复编码解码的Payload感到头疼。尤其是在…

阅读更多
[特殊字符] 龍魂·易经369道德经算法·理论根基 v1.0|有依据·有逻辑·可验证·可追溯|UID9622
2026/6/29 19:00:26

[特殊字符] 龍魂·易经369道德经算法·理论根基 v1.0|有依据·有逻辑·可验证·可追溯|UID9622

《道德经》第四十二章:「道生一,一生二,二生三,三生万物。」—— 这不是玄学,这是算法。1→2→3,就是数字根熔断的生成函数。 Notion 链接有全部明细文档 🔒 版本: v1.0 2026-04-05…

阅读更多
山东大学软件学院人工智能直博预推免机试模拟卷(1)
2026/6/29 18:00:26

山东大学软件学院人工智能直博预推免机试模拟卷(1)

这套题重点补:双指针 二分查找 DFS / BFS 连通块 0/1 背包 字符串动态规划不属于官方真题,是按 预推免机试常见难度 设计的模拟题。C1. 最长无重复字符子串题目描述给定一个字符串 s,请求出其中不含重复字符的最长连续子串长度。输入格式输入…

阅读更多
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告
2026/6/28 0:00:11

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

阅读更多
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?
2026/6/28 0:00:11

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

阅读更多
蒙特卡洛离策略强化学习:工业场景下的无偏评估与稳定训练
2026/6/29 0:00:22

蒙特卡洛离策略强化学习:工业场景下的无偏评估与稳定训练

1. 这不是教科书里的“蒙特卡洛离策略”,而是我在强化学习项目里亲手调通的那套逻辑“Monte Carlo Off-Policy Explained”——看到这个标题,别急着去翻Sutton那本绿皮书第5章。我带过三个工业级强化学习落地项目,从智能仓储调度到金融风控策…

阅读更多
Java开发者转型安全开发:从代码审计到自动化工具实践
2026/6/29 0:00:22

Java开发者转型安全开发:从代码审计到自动化工具实践

1. 转型背景与核心驱动力最近几年,身边不少做Java后端开发的朋友,都开始或多或少地关注起安全开发这个方向。我自己也是从写了七八年Java业务代码,一步步转向了安全领域,现在主要做代码审计和自动化安全工具开发。这个转变不是一时…

阅读更多
HyperFrames 设计、品味与借鉴
2026/6/29 0:00:22

HyperFrames 设计、品味与借鉴

调研对象:https://github.com/heygen-com/hyperframes 核心判断:HyperFrames 最值得学习的不是“用 HTML 渲染视频”这个技术点,而是它把“让 Agent 生成视频”设计成了一套可操作、可验证、可复现的生产协议。 一句话记住:视频生…

阅读更多
GIT修改用户名
2026/6/28 5:47:46

GIT修改用户名

在GIT中修改用户名可按以下步骤操作: 查看当前git的用户名,使用命令git config --list或git config user.name。修改git用户名,使用命令git config --global user.name "xxx(新的用户名)",将其中…

阅读更多
Win11Debloat:让你的Windows系统重获新生的终极优化工具
2026/6/28 14:44:43

Win11Debloat:让你的Windows系统重获新生的终极优化工具

Win11Debloat:让你的Windows系统重获新生的终极优化工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and …

阅读更多
技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践
2026/6/28 14:44:39

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter m4s-converter是一个…

阅读更多