第二章:九章迷宫,群雄逐鹿
一眼春秋,望穿风云。
第二章:九章迷宫,群雄逐鹿
第一幕:金光现世,秘境开启
姬玄在算法殿一战成名后的第七日。
子时三刻,万籁俱寂。
齐国稷下学宫旧址,荒废三百年的演算法坛,突然震动。
“轰隆隆——”
九道金色光柱自地底冲天而起,直破云霄!光柱在夜空中交织,竟构成九个巨大篆字:
“九章算法·第一卷”
金光映照半个临淄城,无数算法修士从梦中惊醒,披衣推窗,目瞪口呆。
“九章迷宫…开启了!” “上古算法秘境!得之可成圣人!” “快!禀报大王!”
姬玄正在府中参悟新得的《算法导论》,系统突然狂响:
【紧急!上古秘境开启!】
**【名称】:九章迷宫】
**【层级】:九层,对应《九章算法》九卷】
**【当前开启】:第一卷“方田”迷宫】
**【核心算法】:面积计算、最大子矩阵】
**【危险等级】:★★★★☆】
【传闻】:迷宫中藏有“算圣”刘徽真传】
几乎同时,侍从撞门而入:“殿下!稷下学宫异象!大王急召!”
姬玄收功睁眼,眼中闪过精光。
终于来了。
算法殿,灯火通明。
齐威王面色凝重:“九章迷宫三百年一开,每次开启,列国天骄死伤过半。但…得其中一卷者,必成一代宗师。”
他看向姬玄:“玄儿,你前日展现算法天赋,此机缘…你可愿争?”
殿内众臣神色复杂。有人嫉妒,有人担忧,有人幸灾乐祸。
姬玄拱手:“儿臣愿往。” “好!”齐威王拍案,“田忌将军率三百精兵护卫,淳于髡先生为算法顾问,七王子姬玄…为我齐国主探!”
“报——!”又一侍从冲入,“秦、楚、魏、赵、韩、燕六国使团连夜出城,皆往稷下!”
齐威王冷笑:“果然都坐不住。玄儿,此行凶险,记住——算法可输,性命要保。”
姬玄点头,心中却道:算法,我也不会输。
第二幕:迷宫入口,群雄聚首
稷下学宫旧址,已成人海。
九道光柱汇聚处,一座青铜巨门缓缓升起,门上刻满算法符文:
【九章迷宫·第一卷·方田】
【入内须知】:
1. 迷宫共九层,每层一道算法题
2. 解题正确可入下一层,错误触发机关
3. 最先抵达第九层者,得《九章算法·第一卷》
4. 生死自负,算法为凭
门前空地,列国天骄分立。
秦国阵营: 嬴驷(秦国太子)居中,商鞅立于侧,身后跟着十名黑衣算法死士。 嬴驷冷冷扫视众人:“《九章算法》乃我大秦必得之物,诸位…莫要自误。”
楚国阵营: 芈月一袭白衣,腰佩递归玉佩,身后八名楚女手持算筹阵图。 她目光扫过姬玄时,微微一顿,随即移开。
魏国阵营: 一名青衫文士摇着羽扇,正是魏国第一天才——庞涓。 他笑眯眯对姬玄拱手:“七王子殿下,前日交易,魏王已准。庞某此行…还望殿下多多关照。”
姬玄微笑还礼,心中警惕——此人笑里藏刀,史书称其“妒才”,需小心。
赵、韩、燕等国亦有高手到场,个个气息深沉。
“嗡——”
青铜巨门洞开,露出幽深通道。
商鞅突然朗声道:“既是算法比拼,何不设个彩头?哪国最先有人抵达第九层,其余六国…各输城池一座!”
全场哗然!
嬴驷接话:“可。秦国若输,割让函谷关外三城!” 芈月清冷道:“楚国若输,让出云梦泽算法秘境。” 庞涓笑道:“魏国若输…送上‘优先队列’秘法全卷。”
众人看向姬玄。
姬玄摸摸鼻子:“齐国若输…我当众承认,我是靠作弊赢的商君。”
“你!”商鞅大怒。
“开玩笑的。”姬玄正色,“齐国若输,献上‘阴阳双链诀’专利,永不再用。”
“好!”嬴驷眼中闪过贪婪,“立天道誓约!”
七国代表滴血为誓,天道金光笼罩誓言——违约者,修为尽废。
第三幕:第一层·最大子矩阵
踏入青铜门,空间扭曲。
再睁眼,姬玄发现自己置身一座巨型农田迷阵。阡陌纵横,分成无数方格,每格标有数字——正数代表沃土,负数代表贫瘠。
空中浮现光幕:
【第一层:方田最大沃土区】 **【描述】:给定 M×N 农田矩阵,矩阵元素代表土地肥力(可正可负)】 **【目标】:找出连通矩形区域,使其肥力总和最大】 **【约束】:矩形必须连续,至少包含一格】 【示例】:
矩阵:
1 2 -1
-3 4 5
6 -2 3
最大和为:4+5+6-2+3 = 16
对应矩形:第2-3行,第2-3列
“这不就是最大子矩阵和问题?”姬玄暗道。
不远处传来惨叫!
“啊——!”
一名赵国修士试图暴力枚举所有矩形,刚写出 O(M²N²) 的解法,地面突然裂开,将他吞没!
【天道提示】:解法复杂度超标,触发“流沙陷阱”
众人色变。
庞涓摇扇道:“暴力枚举不可取。依庞某之见,可转化为一维最大子数组和问题,用动态规划。”
他快速写出解法:
int maxSubMatrix(int[][] matrix) {
int M = matrix.length, N = matrix[0].length;
int maxSum = Integer.MIN_VALUE;
// 枚举上下边界
for (int top = 0; top < M; top++) {
int[] colSum = new int[N]; // 存储当前上下边界内的列累加和
for (int bottom = top; bottom < M; bottom++) {
// 更新列累加和
for (int col = 0; col < N; col++) {
colSum[col] += matrix[bottom][col];
}
// 在colSum数组上求最大子数组和(一维问题)
int currSum = 0, best = Integer.MIN_VALUE;
for (int num : colSum) {
currSum = Math.max(num, currSum + num);
best = Math.max(best, currSum);
}
maxSum = Math.max(maxSum, best);
}
}
return maxSum;
}
“时间复杂度 O(M²N),”庞涓微笑,“虽非最优,但应可过关。”
果然,他身前出现通道。
芈月却摇头:“仍有优化空间。若用前缀和+滚动最大,可至 O(MN·min(M,N))。”
她玉指轻点,写出更优解法,也获通过。
商鞅冷哼一声,带秦国人马强行冲关——竟是用牺牲三名死士触发机关,硬闯过去!
姬玄看在眼里,心中冷笑。
他走到光幕前,写下了终极解法:
int maxSubMatrixOptimal(int[][] matrix) {
int M = matrix.length, N = matrix[0].length;
int maxSum = Integer.MIN_VALUE;
// 预处理列前缀和
int[][] colPrefix = new int[M+1][N];
for (int j = 0; j < N; j++) {
for (int i = 0; i < M; i++) {
colPrefix[i+1][j] = colPrefix[i][j] + matrix[i][j];
}
}
// 枚举上下边界,O(M²) → 但结合Kadane算法优化
for (int top = 0; top < M; top++) {
for (int bottom = top; bottom < M; bottom++) {
// 构造当前上下边界对应的行数组
int[] row = new int[N];
for (int j = 0; j < N; j++) {
row[j] = colPrefix[bottom+1][j] - colPrefix[top][j];
}
// Kadane算法求最大子数组和,O(N)
int currSum = 0;
for (int val : row) {
currSum = Math.max(val, currSum + val);
maxSum = Math.max(maxSum, currSum);
}
}
}
return maxSum;
}
【天道评价】: **【时间复杂度】:O(M²N) → 但实际通过预处理和Kadane优化,常数极低】
**【空间复杂度】:O(MN) → 可优化为O(N)】
【评价】:深得“降维打击”精髓,优秀】
通道出现,比庞涓、芈月的更宽。
姬玄正要踏入,忽然听到微弱呼救:“救…救我…”
转头一看,竟是刚才被流沙吞没的赵国修士,半截身子陷在地下,只剩双手挥舞。
姬玄犹豫一瞬,甩出腰带缠住那人手腕,运劲一拉——
“噗!”
人拉出来了,但姬玄自己却因反作用力,退后半步。
就这半步,触发了隐藏机关!
“咔嚓——”
地面裂开,姬玄坠入黑暗!
第四幕:隐藏层·死锁困境
“咚!”
姬玄摔在冰冷石板上。
四周漆黑,只有前方一点幽光。他走过去,发现是一座石室,墙上刻着诡异符文:
【隐藏层:死锁困境】
**【触发条件】:在第一层救人,触发仁者机关】
**【描述】:你被困在资源争夺迷阵中】
**【场景】:五国使者争夺三份盟约,每人必须拿到两份才能通关】
【规则】:
使者按固定顺序申请盟约
若盟约不足,使者等待
若形成循环等待,则全员死锁
你必须设计“防死锁算法”
石室中央,浮现五个虚影——代表五国使者,以及三卷盟约竹简。
“这是操作系统中的死锁问题!”姬玄立刻反应过来。
经典场景:五个进程(使者),三个资源(盟约),每个进程需要两个资源才能完成。
若分配不当,就会形成:
使者A等使者B释放
使者B等使者C释放
使者C等使者D释放
使者D等使者E释放
使者E等使者A释放
→ 循环等待,全员饿死
【天道提示】:你有三炷香时间,设计防死锁算法,否则石室崩塌。
姬玄盘膝坐下,大脑飞转。
“死锁四个必要条件:互斥、持有并等待、不可剥夺、循环等待…只要破坏其一即可。”
他首先想到银行家算法——预先声明最大需求,系统安全才分配。
但很快否定:“这里没有中央调度系统,各国使者各自为政…”
那么…
“有了!资源有序分配法!”
将所有资源(盟约)编号,规定:每个使者必须按编号递增顺序申请,释放时则按递减顺序。
这样,永远不会形成循环等待链!
姬玄迅速在墙上刻写算法:
class 使者 {
int 编号;
List<盟约> 持有盟约 = new ArrayList<>();
void 申请盟约(盟约 目标) {
// 必须按盟约编号递增顺序申请
if (!持有盟约.isEmpty()) {
盟约 最后持有的 = 持有盟约.get(持有盟约.size()-1);
if (目标.编号 <= 最后持有的.编号) {
throw new 违规异常("必须按递增顺序申请!");
}
}
if (目标.当前持有者 != null) {
// 等待
进入等待队列(目标);
} else {
目标.当前持有者 = this;
持有盟约.add(目标);
}
}
void 释放盟约(盟约 目标) {
// 必须按编号递减顺序释放
if (!持有盟约.isEmpty() && 目标 != 持有盟约.get(持有盟约.size()-1)) {
throw new 违规异常("必须按递减顺序释放!");
}
持有盟约.remove(目标);
目标.当前持有者 = null;
// 唤醒等待该盟约的使者
唤醒等待队列(目标);
}
}
刻完最后一笔,石室震动!
五个使者虚影开始按算法行动:
- 使者A申请盟约①、盟约② → 成功
- 使者B申请盟约③、盟约① → 申请①时被拒(因①<③)
- 使者B改为申请盟约①、盟约③ → 成功
- …
最终,无循环等待产生,五使者先后完成任务,虚影消散。
“轰——”
石室墙壁向两侧分开,露出向上阶梯。
【天道奖励】:
【通过隐藏层,获得“死锁免疫”天赋】
【效果:今后任何循环等待困境中,直觉感知危险】
【额外奖励:《操作系统精要·上古卷》】
姬玄拾级而上,心中暗喜:这隐藏层,反倒让他得了大机缘。
第五幕:第四层·拓扑排序
回到主迷宫,已是第四层。
这一层竟是庞大的任务调度殿。空中悬浮无数光球,每个光球代表一个“算法任务”,光球间有箭头相连,表示依赖关系。
【第四层:任务调度】
【描述】:给定N个任务及其依赖关系,判断能否完成所有任务】
【进阶】:若可完成,给出一种执行顺序】
【实质】:有向图拓扑排序】
姬玄赶到时,已有十余人困在此层。
庞涓正与芈月争论。
“月公主,”庞涓摇扇,“依庞某之见,应用深度优先搜索,检测环的存在。若有环,则不可完成。”
芈月摇头:“DFS虽可检测环,但输出顺序需额外处理。不如用广度优先搜索,直观清晰。”
两人各自解题。
庞涓的DFS解法:
boolean canFinish(int numTasks, int[][] prerequisites) {
// 建图
List<Integer>[] graph = new ArrayList[numTasks];
for (int i = 0; i < numTasks; i++) graph[i] = new ArrayList<>();
for (int[] pre : prerequisites) {
graph[pre[1]].add(pre[0]); // pre[1] -> pre[0]
}
int[] visited = new int[numTasks]; // 0未访,1访问中,2已访问
for (int i = 0; i < numTasks; i++) {
if (hasCycle(graph, visited, i)) return false;
}
return true;
}
boolean hasCycle(List<Integer>[] graph, int[] visited, int node) {
if (visited[node] == 1) return true; // 遇到访问中节点,有环
if (visited[node] == 2) return false;
visited[node] = 1;
for (int neighbor : graph[node]) {
if (hasCycle(graph, visited, neighbor)) return true;
}
visited[node] = 2;
return false;
}
芈月的BFS解法(Kahn算法):
List<Integer> topologicalOrder(int numTasks, int[][] prerequisites) {
// 建图和入度数组
List<Integer>[] graph = new ArrayList[numTasks];
int[] inDegree = new int[numTasks];
for (int i = 0; i < numTasks; i++) graph[i] = new ArrayList<>();
for (int[] pre : prerequisites) {
graph[pre[1]].add(pre[0]);
inDegree[pre[0]]++;
}
// 队列存放入度为0的节点
Queue<Integer> queue = new LinkedList<>();
for (int i = 0; i < numTasks; i++) {
if (inDegree[i] == 0) queue.offer(i);
}
List<Integer> order = new ArrayList<>();
int visitedCount = 0;
while (!queue.isEmpty()) {
int curr = queue.poll();
order.add(curr);
visitedCount++;
for (int neighbor : graph[curr]) {
inDegree[neighbor]--;
if (inDegree[neighbor] == 0) {
queue.offer(neighbor);
}
}
}
if (visitedCount != numTasks) {
return new ArrayList<>(); // 有环
}
return order;
}
两人几乎同时完成,都获得了通过资格。
但光幕提示:【请给出时间复杂度分析】
庞涓沉吟:“DFS解法,时耗O(V+E),空耗O(V)。”
芈月道:“BFS亦为O(V+E),但更易理解输出顺序。”
这时,姬玄走上前。
他没有直接解题,而是先问了一个问题:
“如果任务数达百万,依赖关系千万条,且需要实时查询‘能否添加新依赖’,该如何优化?”
庞涓、芈月皆是一怔。
这是动态拓扑排序问题,远比静态复杂!
姬玄微微一笑,写出了增量维护算法:
class 动态任务调度器 {
private List<Integer>[] 图;
private int[] 入度;
private int 已完成数;
public 动态任务调度器(int 任务数) {
图 = new ArrayList[任务数];
入度 = new int[任务数];
for (int i = 0; i < 任务数; i++) 图[i] = new ArrayList<>();
已完成数 = 0;
}
// 尝试添加依赖:先判断是否成环
public boolean 尝试添加依赖(int 后续任务, int 前驱任务) {
// 临时添加
图[前驱任务].add(后续任务);
入度[后续任务]++;
// 快速检测是否有环(增量BFS)
if (增量检测环(前驱任务, 后续任务)) {
// 有环,回滚
图[前驱任务].remove(图[前驱任务].size()-1);
入度[后续任务]--;
return false;
}
return true;
}
private boolean 增量检测环(int 新前驱, int 新后续) {
// 从新后续出发,看是否能回到新前驱
Set<Integer> 访问过 = new HashSet<>();
Queue<Integer> 队列 = new LinkedList<>();
队列.offer(新后续);
while (!队列.isEmpty()) {
int 当前 = 队列.poll();
if (当前 == 新前驱) return true; // 形成环
for (int 邻居 : 图[当前]) {
if (!访问过.contains(邻居)) {
访问过.add(邻居);
队列.offer(邻居);
}
}
}
return false;
}
}
【天道评价】:
**【解题完整度】:100%】
**【算法前瞻性】:考虑动态场景,远超当前需求】
**【额外洞察】:提出“增量环检测”优化】
【评价:宗师之思】
光幕绽放七彩光华!比庞涓、芈月的金光更盛!
通道开启,且…是直达第六层的捷径!
庞涓眼中闪过嫉妒,芈月则目露惊奇。
姬玄正要踏入,突然——
“七王子殿下,请留步。”
庞涓笑吟吟走来:“殿下算法通神,庞某佩服。不如…我们合作?我知道一条密道,可直通第八层。”
姬玄心中警铃大作。
系统提示:【庞涓好感度-20,当前:-15(表面友好,内心嫉妒)】
“合作?”姬玄故作好奇,“怎么合作?”
庞涓压低声音:“殿下可知,这迷宫中…有‘算圣残魂’守护?单打独斗,必被残魂所伤。我有一阵图,需两人配合…”
就在这时!
“小心!”
芈月突然惊呼,一掌推开姬玄!
“嗤——”
一道黑影从姬玄原本位置掠过,竟是一支淬毒算筹!
偷袭者——秦国黑衣死士!
“嬴驷殿下有令,”死士阴森道,“姬玄…不能活着走出迷宫。”
话音刚落,四周涌出十名秦国土卒,结阵围杀!
第六幕:绝境联手,递归破阵
姬玄、芈月背靠背而立。
庞涓早已退到远处,摇扇观战,显然不打算插手。
“公主为何救我?”姬玄低声道。
芈月抿唇:“我芈月…不屑偷袭之辈。何况…你算法确实比我强。”
姬玄笑了:“那就并肩一战。”
十名秦士结的是秦军杀阵“穷举阵”——暴力枚举所有攻击路线,虽笨但全,难以闪避。
芈月急道:“此阵需找出其核心节点!我用递归搜索…”
“不,”姬玄打断,“递归太慢。看我的——”
他拔出腰间玉笔(实为系统兑换的“算法笔”),在空中快速划动!
竟是在现场建模!
“秦阵共十人,每人有八种攻击变化,总状态数8¹⁰,但…存在对称性!”
姬玄眼中数据流转:
“左三右三为对称组,前后四为另一对称组。实际独立状态…仅120种!”
他找到了状态转移图中的关键路径。
“公主,攻巽位第三人!他是状态转移枢纽!”
芈月毫不迟疑,递归玉佩亮起,一道递归剑气激射而出!
“噗!”
正中那人肩膀,阵法一滞。
“再攻离位第七人!他是循环依赖节点!”
两人配合,姬玄分析,芈月出手。
十招之内,秦阵崩溃!
最后一名死士狞笑:“你们破阵又如何?此层已布‘无限递归陷阱’!没有我的解咒,你们永远走不出去!”
他咬破毒囊,当场毙命。
果然,四周墙壁浮现递归符文,开始无限自我复制!
f(n) = f(n-1) + f(n-2)
f(0)=0, f(1)=1
但...没有终止条件!
空间开始无限嵌套,如同镜子对着镜子,永无止境。
芈月脸色发白:“这是…递归栈溢出攻击!若找不到终止条件,我们会困死在递归幻境中!”
姬玄却闭目沉思。
突然,他睁眼:“这不是真的无限递归…是模拟!公主,用你的递归玉佩,反向解析!”
“怎么做?” “递归虽可怕,但递归树可被记忆化!我们联手——你负责递归展开,我负责记忆存储!”
两人四掌相对。
芈月的递归灵力如潮水涌出,姬玄则运转系统刚得的《操作系统精要》,构建记忆化缓存!
递归调用 → 查缓存 → 若有记录,直接返回
→ 若无,展开计算,结果存入缓存
“找到了!”姬玄大喝,“终止条件藏在…地面第三块砖下!”
芈月一剑劈开地砖,果然有枚符文。
击碎符文,递归幻境崩塌!
两人跌坐在地,灵力几乎耗尽。
芈月喘息:“你…你怎么知道记忆化…”
姬玄苦笑:“因为我也曾被递归折磨过…等等。”
他看向芈月,发现她白衣染血,肩头一道伤口深可见骨。
“你受伤了!” “刚才破阵时…被划了一下。”芈月脸色惨白。
姬玄毫不犹豫,撕下衣襟为她包扎。
芈月身体一僵,却没反抗。
昏暗迷宫中,两人气息相闻。
“为什么救我?”芈月忽然问,“在隐藏层,你救赵国修士,现在…又帮我包扎。”
姬玄手上不停:“算法之道,不止是竞争。若见死不救…与秦国有何区别?”
芈月沉默良久,轻声道:“你和传闻中…不一样。”
“传闻说我是什么?”
“纨绔王子,不学无术,沉迷酒色。”
“那现在呢?”
“…算法天才,心思缜密,而且…”芈月声音渐低,“…有点侠气。”
姬玄笑了。
包好伤口,他正要说话,忽然——
“啪啪啪。”
掌声响起。
庞涓从阴影中走出,笑容依旧:“精彩,真是精彩。七王子殿下不仅算法通神,还懂得怜香惜玉。”
他话锋一转:“不过…第八层的密道,只能容一人通过。二位…谁去?”
姬玄和芈月同时站起。
庞涓摊手:“别误会,我不是挑拨。只是…天道规则如此。”
果然,光幕浮现:
【第八层入口:仅限一人】
【选择:合作者中,只能有一人晋级】
【另一人:传送出迷宫】
芈月握剑的手紧了紧。
姬玄却突然笑了。
“庞先生,”他慢悠悠道,“你怎知…我们只有两个人?”
庞涓一愣。
姬玄抬手,在空中划出一个虚拟第三节点!
“递归中,有一种技巧叫虚拟节点法,”姬玄解释,“将双人选择,转化为三人问题,再退化成两人…”
他快速建模:“设A=我,B=芈月,C=虚拟合作者。先让A与C合作,B旁观;再让B与C合作,A旁观…最后,A与B同时与C交互…”
庞涓脸色骤变:“你想骗过天道规则?!”
“不是骗,”姬玄眼中闪过狡黠,“是利用规则漏洞——天道只说‘合作者中只能一人晋级’,但没说…合作者必须是真人。”
他拉起芈月的手:“公主,信我吗?”
芈月看着他坚定的眼神,点头。
两人同时将灵力注入虚拟节点C!
天道光幕剧烈闪烁,似乎在进行复杂判定…
“嗡嗡嗡——”
最终,光幕显示: 【判定通过】
【虚拟合作者成立】
【晋级者:姬玄、芈月】
【特殊奖励:合作默契+100,获得‘递归双子星’称号】
两道金光笼罩二人!
庞涓目瞪口呆。
还能这样?!
姬玄对庞涓拱手:“庞先生,告辞了。希望能在第九层…再见。”
说罢,与芈月踏入金光,消失不见。
庞涓立在原地,笑容终于消失,眼中只剩阴沉。
“姬玄…你比我想象的,更可怕。”
第七幕:第九层·终局之战
第八层是“方程迷宫”,姬玄和芈月联手,用高斯消元法配合迭代优化,轻松通过。
终于,第九层。
这是一座圆形祭坛,中央悬浮一卷玉简——正是《九章算法·第一卷》。
但祭坛上,已有一人。
秦国太子,嬴驷。
他浑身是血,显然也历经苦战。身旁躺着三名秦国死士尸体——竟是被他当作算法祭品,强行破关!
“姬玄…”嬴驷狞笑,“你果然来了。但…晚了!”
他伸手抓向玉简!
“嗖!”
一道剑光逼退他——芈月出手。
嬴驷冷笑:“芈月公主,你要帮这个齐国纨绔?楚国想与秦国为敌?”
芈月剑指嬴驷:“算法之争,公平为要。你以人命献祭,已堕魔道。”
“魔道?”嬴驷狂笑,“胜者为王!今日,就让你们见识…秦国终极算法——”
他撕开胸前衣襟,露出血色符文!
“禁术·暴力穷举献祭流!”
祭坛震动,嬴驷气息暴涨,竟短暂突破至宗师境!
“小心!”芈月急道,“他燃烧生命,强行提升算力!”
嬴驷一拳轰来,拳风中竟蕴含无数暴力解法的计算洪流!
姬玄拉芈月疾退,脑中飞转。
“硬拼不过…必须智取!”
他看向玉简,又看向嬴驷胸前符文…忽然灵光一闪!
“公主!攻他膻中穴下一寸!”
“那是死穴!”
“不!那是他算法的循环不变式节点!暴力穷举必须维持不变式,破之则算法崩溃!”
芈月虽不明原理,但信姬玄。
一剑刺出——递归穿透剑!
“噗嗤!”
正中符文节点!
“啊——!”嬴驷惨叫,胸前符文碎裂,气息暴跌。
他怨毒地盯着姬玄:“你…你怎么知道…”
姬玄淡淡道:“因为你的算法…太糙。真正的强者,不需要献祭。”
嬴驷还想拼命,但重伤之下,被芈月制住。
姬玄走向玉简。
就在他触碰到玉简的瞬间——
异变再生!
玉简爆发出恐怖吸力,竟将姬玄神魂拖入意识空间!
终幕:算圣残魂,终极试炼
意识空间中,一位白衣老者虚影浮现。
“吾乃刘徽残魂,守此卷三百年。”
老者目光如电:“年轻人,你算法天赋卓绝,但…心性可堪?”
姬玄拱手:“请前辈赐教。”
“最后一题,”老者袖袍一挥,“若你答错,神魂俱灭;答对,得我真传。”
题目浮现:
【终极之问】
**【场景】:你已成算法圣人,可制定天下算法规则】
**【问题】:当个人最优解与天下最优解冲突时,你当如何?】
**【示例】:你若独占《九章算法》,可成天下第一,但若公开,则列国算法水平皆升,整体最优】
【选择】:独享?分享?】
姬玄怔住。
这不是算法题…这是伦理题。
他沉思良久,缓缓道:
“晚辈认为…当分享。”
“哦?为何?独享可成至强。”
“但至强之后呢?”姬玄抬头,“若天下算法停滞,至强也只是井底之蛙。唯有天下共进,算法之道才能真正发展。”
“况且…”他微微一笑,“真正的强者,不怕分享。因为…他会继续前进,永远领先。”
刘徽残魂凝视他许久。
忽然,笑了。
“三百年了…终于等到你。”
玉简光华大盛,融入姬玄眉心!
【系统狂响】:
【获得《九章算法·第一卷》!】
【境界突破:才子境→宗师境!】
【解锁所有卷一算法:方田、粟米、衰分、少广、商功…】
【获得算圣刘徽传承印记!】
现实世界,祭坛上。
姬玄睁眼,眸中似有星河运转。
芈月焦急道:“你没事吧?刚才你突然不动…”
“没事,”姬玄微笑,“我得到了。”
他看向重伤的嬴驷,又看向芈月:“公主,这嬴驷…”
芈月咬牙:“他残害同袍,当诛。”
“但杀了他,秦齐必战。”姬玄沉吟,“不如…废他算法修为,留他一命。”
芈月讶然:“你…”
“算法之争,不必你死我活。”姬玄抬手,一道金光没入嬴驷丹田——废其算法根基。
嬴驷惨嚎一声,昏死过去。
这时,庞涓等人才陆续抵达第九层。
看到玉简已认主姬玄,庞涓眼中嫉妒几乎凝成实质,却强笑道:“恭喜七王子…”
姬玄不理他,对众人朗声道:
“今日起,《九章算法·第一卷》基础算法,我将公开传授。任何齐国算法修士,皆可来学。”
全场震惊!
公开圣人典籍?!自古未有!
芈月眼中异彩连连。
庞涓脸色难看——若齐国算法大兴,魏国危矣!
尾声:归途生变
走出迷宫,已是三日后。
田忌将军率兵接应,见姬玄不仅得宝,还与楚国公主并肩而出,大喜过望。
回城路上,芈月与姬玄同乘一车。
“你真要公开《九章算法》?”芈月问。
“真。” “…我能来学吗?”
“欢迎。”姬玄笑道,“不过要交学费。”
“什么学费?”
“陪我游临淄…上次的赌约,还没兑现呢。”
芈月脸微红,却没拒绝。
车外,夕阳西下。
车内,两人沉默片刻,芈月忽然低声道:“姬玄…谢谢。”
“谢什么?”
“很多。”芈月看向窗外,“在迷宫里,你没抛下我。在第九层…你让我看到了,真正的算法之道,不止是竞争。”
姬玄心中微动。
这时,系统提示:【芈月好感度+80,当前:200(倾心)】
他正要说话,忽然——
“报——!”
一匹快马狂奔而来,马上骑士浑身是血:“殿下!临淄急报!大王…大王遭算法反噬,昏迷不醒!太医说…只有《九章算法》可救!”
姬玄脸色大变。
芈月握住他的手:“我陪你回去。”
车队转向,疾驰回城。
但姬玄没注意到…
远处山岗上,庞涓正冷冷看着车队,手中捏碎一枚传讯玉符。
“姬玄…你公开算法,坏我大计。那就别怪我了…”
他身后,一道黑影浮现:“庞先生,魏王有令:若不能得姬玄为用…则杀之。”
庞涓点头,眼中闪过杀机。
“准备‘图论杀阵’…在临淄城外,截杀姬玄!”
【下章预告】 第三章:图论杀局,临淄风云
核心算法:最短路径 vs 最小割
关键冲突:姬玄救父需解“最大流最小割”,途中遭遇庞涓埋伏
感情进展:芈月为救姬玄重伤,姬玄首次动怒
新危机:齐国内部出现叛徒,与魏国里应外合…
【本章算法知识点】
最大子矩阵和 → 降维+ Kadane算法
死锁与预防 → 资源有序分配法
拓扑排序 → DFS检测环 / BFS(Kahn算法) / 动态维护
递归与记忆化 → 避免栈溢出
暴力算法的优化 → 对称性减少状态空间
(对应LeetCode:85最大矩形、207课程表、509斐波那契记忆化…)
