第三章:图论杀局,临淄风云

一眼春秋,望穿风云。

页面内容

第三章:图论杀局,临淄风云


第一幕:急报惊变,算法反噬

暮色如血,马车在官道上飞驰,车轮碾起滚滚烟尘。

车内,姬玄握着临淄急报的手微微颤抖。竹简上只有八个字,却字字惊心:

“王遭反噬,危,速归,忌”

“田忌将军的笔迹,”姬玄声音沙哑,“父王…怎会算法反噬?”

芈月凝眉:“齐王修的是《齐民算法》,以稳著称,按理不该…”

“除非有人动了手脚。”姬玄眼中寒光一闪,“我离城不过五日,父王就出事…太巧了。”

车外,田忌策马并行:“殿下,太医诊断,大王中的是‘递归栈溢出毒’——有人在大王修炼的算法典籍中,植入了无限递归陷阱。”

“无限递归…”姬玄闭目,脑中飞速分析,“需要《九章算法》中的‘栈帧修复术’…但第一卷中并无此术。”

芈月急道:“那怎么办?” “第二卷,”姬玄睁眼,“《九章算法》第二卷‘方程’,专解异常状态。但第二卷…在魏国算法库。”

田忌脸色一变:“魏国?庞涓的魏国?”

话音未落——

“咻咻咻!”

前方官道两侧树林,箭如雨下!

“敌袭!结阵!”田忌大吼。

三百齐兵瞬间结成圆阵,盾牌高举,箭矢叮当落下。

但这不是普通箭矢——箭头上刻着算法符文,落地即触发!

“轰!轰!轰!”

地面炸开,符文交织成巨型有向图,将车队困在中央!

姬玄掀开车帘,瞳孔骤缩。

前方官道上,庞涓摇扇而立,笑容温和如旧。他身旁站着八名黑袍阵师,各持算筹,正在构建阵法。

“庞先生,”姬玄冷冷道,“这就是魏国的待客之道?”

庞涓拱手:“七王子误会。庞某此行,是为…借《九章算法》一观。只要殿下交出玉简,立刻放行,还赠‘方程卷’救齐王。”

“若我不给呢?” “那…”庞涓笑容转冷,“只好请殿下…永远留在此地了。”

他扇子一挥:“起阵!”

八名阵师同时划动算筹,空中浮现巨大光图——

【图论杀阵·最短路径封锁】

**【描述】:以车队为起点,临淄为终点,官道为边,设权重障碍】

**【效果】:所有从起点到终点的路径,权重皆被修改为无穷大】

【实质】:让你们找不到任何可行回家之路】

姬玄瞬间看透:“你想用负权环修改边权重,使所有路径不可达?”

“殿下果然通透。”庞涓笑道,“此阵名‘狄杰斯特拉之困’——任你算法再高,找不到最短路径,就只能困死阵中。”

田忌怒吼:“庞涓!你魏国要与我齐国开战吗?!”

“开战?”庞涓摇头,“不不,这只是…算法切磋。姬玄殿下若破不了阵,便是学艺不精,死于阵中,与我魏国何干?”

他顿了顿:“当然,若殿下愿归顺魏国,庞某可亲自护送殿下回临淄,还奉上《九章算法·第二卷》。”

赤裸裸的威胁。


第二幕:破阵之思,最短路径之争

姬玄跳下马车,走向阵法边缘。

地面上的有向图复杂无比:

  • 节点:三十六处关键路口
  • 边:七十二段官道
  • 初始权重:道路长度(已知)
  • 当前权重:部分边被修改为无穷大(∞)

芈月跟上来:“此阵用狄杰斯特拉算法(Dijkstra)原理,修改边权破坏连通性…可有解法?”

“有,”姬玄盯着阵法,“狄杰斯特拉算法有两个弱点:一、不能处理负权边;二、贪心选择可能不是全局最优。”

他大脑飞转:“庞涓引入‘负权环’,让某些边权重临时变负,诱导算法走错路…但负权环本身,就是破绽。”

田忌急道:“殿下,如何破?强冲吗?”

“强冲必死,”姬玄摇头,“此阵隐含‘优先级队列’——谁先动,谁先被重点攻击。”

他盘膝坐下,取出玉笔,在地上快速推演。

第一步:建模 将三十六节点编号,七十二边列出,初始权重记为w₀。

第二步:检测负权环 “狄杰斯特拉怕负权…那就用贝尔曼-福特算法(Bellman-Ford)!”姬玄眼中精光一闪。

贝尔曼-福特可处理负权,且能检测负权环!

他快速写出算法框架:

class 路径破解 {
    int[] 最短距离;
    int[] 前驱节点;
    
    boolean 贝尔曼福特(int 节点数, 边[] 边集, int 起点) {
        最短距离 = new int[节点数];
        Arrays.fill(最短距离, Integer.MAX_VALUE);
        最短距离[起点] = 0;
        
        // 松弛操作 V-1 轮
        for (int i = 1; i < 节点数; i++) {
            for (边 e : 边集) {
                if (最短距离[e.起点] != Integer.MAX_VALUE 
                    && 最短距离[e.起点] + e.权重 < 最短距离[e.终点]) {
                    最短距离[e.终点] = 最短距离[e.起点] + e.权重;
                    前驱节点[e.终点] = e.起点;
                }
            }
        }
        
        // 检测负权环:再松弛一轮,若还能更新,则有负权环
        for (边 e : 边集) {
            if (最短距离[e.起点] != Integer.MAX_VALUE 
                && 最短距离[e.起点] + e.权重 < 最短距离[e.终点]) {
                return true; // 存在负权环
            }
        }
        return false;
    }
}

第三步:逆向利用 “检测到负权环后…”姬玄嘴角微翘,“不是消除它,而是放大它!”

芈月不解:“放大?” “对。狄杰斯特拉算法遇负权环会崩溃,但如果我们主动在环上循环,积累‘负权值’,就能在某个节点实现权重归零甚至变负,从而创造新路径!”

这是险招——可能被负权环反噬,神魂俱伤。

但姬玄别无选择。


第三幕:以身试阵,负权环中的舞蹈

“田将军,”姬玄起身,“我需要八个懂基本算法士兵,每人持一面阵旗,按我指令移动。”

“殿下不可!”田忌急道,“您亲自入阵太危险!”

“父王等不起。”姬玄看向芈月,“公主,若我失败…你带《九章算法》走,救齐王。”

芈月咬唇:“我陪你入阵。”

“不行,此阵凶险…”

“正因凶险,才需两人。”芈月拔出佩剑,“递归可破循环,我的‘递归斩’或能切断负权环。”

姬玄看着她坚定的眼神,终于点头。

两人并肩踏入阵法。

庞涓在阵外冷笑:“自投罗网。”


阵法内,天地变幻。

官道消失,取而代之的是悬浮的节点平台光影桥梁。每座桥梁上都标着权重数字,部分显示为“∞”。

姬玄踏上起点平台:“第一段路,权重5,正常。”

他走过,桥梁稳固。

“第二段,权重∞…”姬玄停步,“被庞涓修改了。绕路。”

但绕路需走第三条边,权重3,可通往的第四节点…也有∞边阻隔。

“果然全被封锁了。”芈月凝神感应,“但我感应到…东北方有微弱负权波动。”

“负权环所在!”姬玄立即转向。

两人在节点间跳跃,避开∞边,一刻钟后,终于找到负权环——

那是三个节点构成的三角形循环:

A→B权重-2

B→C权重-3

C→A权重-5

循环一周,总权重-10!意味着每走一圈,总距离减少10!

“就是这里。”姬玄眼中闪过决然,“公主,为我护法。我要在环上走…三十圈。”

“三十圈?!”芈月震惊,“负权积累-300,你会被算法反噬重伤的!”

“但积累-300后,我能将一段∞边的‘临时权重’冲为负值,强行打开通道!”姬玄已开始踏步。

一圈。

两圈。

三圈…

每走一圈,姬玄脸色就白一分。负权积累在冲击他的算法根基。

芈月看得心痛,突然拔剑:“我也来!”

“公主不可!”

“递归剑法·分形减负!”芈月剑光流转,竟将负权环复制成三个子环,分摊伤害!

两人在环上疾走,负权值飞速积累:

-100…

-200…

-250…

姬玄嘴角溢血,但眼神愈发锐利。

“够了!”他冲到一条∞边前,将积累的-250负权值全部注入!

“给我——开!”

∞边剧烈颤抖,权重显示疯狂跳动:

∞ → 10000 → 1000 → 100… → 0 → -50

通道打开了!

“走!”姬玄拉芈月冲过。

但就在通过瞬间,庞涓的声音如鬼魅响起:

“殿下好手段…但你以为,只有一个阵吗?”

“第二阵——最小割截杀!”


第四幕:最大流困境,生死抉择

刚出负权环区域,眼前景象再变。

这次是网络流图

  • 源点S:他们所在位置
  • 汇点T:临淄城方向
  • 中间节点:十二处关隘
  • 边:道路,权重为通行容量

庞涓的声音回荡:“此阵名‘最大流最小割’——我已找到从S到T的最小割集,并派人镇守。你们流量再多,也过不了最小割瓶颈。”

姬玄定睛一看,果然——关键的三条边上,站着三名魏国宗师!

“最小割容量…15。”姬玄快速计算,“意味着同时最多15人通过。但我们有三百人…”

田忌在外怒吼:“庞涓!你截官道、设杀阵,已犯天下算法盟约!各国不会放过魏国!”

庞涓大笑:“只要你们全死在此,谁知道是我魏国所为?”

他顿了顿:“姬玄,我最后给你一次机会——交出玉简,我放你和芈月公主离开。否则…最小割收缩,你们会被空间之力碾碎。”

芈月看向姬玄。

姬玄沉默三息,忽然笑了。

“庞先生,你可知…最大流算法,有个隐藏特性?”

“什么?” “增广路径不止一条。”姬玄眼中数据流转,“你找到的最小割,是基于当前网络结构。但如果…我临时增加节点呢?”

庞涓一愣:“增加节点?阵法已定,你如何增加?”

姬玄不答,转向芈月:“公主,你的递归剑法,能否在虚空中开辟临时通道?哪怕只能维持十息?”

芈月点头:“可以,但需极大灵力。”

“用这个。”姬玄将《九章算法》玉简塞给她,“以圣典为引,开辟‘虚节点’。”

“那你呢?”

“我来计算增广路径。”姬玄再次坐下,玉笔狂舞。

这次是埃德蒙兹-卡普算法(Edmonds-Karp)——用BFS找增广路径,反复增广直至最大流。

但姬玄要做的更激进:动态修改网络拓扑

class 动态最大流 {
    int 最大流量(网络 原网, 节点 源, 节点 汇, List<虚节点> 新增节点) {
        // 构建扩展网络
        网络 扩展网 = 原网.深拷贝();
        for (虚节点 v : 新增节点) {
            扩展网.添加节点(v);
            // 连接虚节点到原网络
            扩展网.添加边(v, 某原节点, 容量);
            扩展网.添加边(另一原节点, v, 容量);
        }
        
        int 总流量 = 0;
        while (true) {
            // BFS寻找增广路径
            int[] 父节点 = new int[扩展网.节点数];
            Arrays.fill(父节点, -1);
            Queue<Integer> 队列 = new LinkedList<>();
            队列.offer(源.编号);
            父节点[源.编号] = -2;
            
            while (!队列.isEmpty()) {
                int 当前 = 队列.poll();
                for (边 e : 扩展网.邻接表[当前]) {
                    if (父节点[e.终点] == -1 && e.剩余容量() > 0) {
                        父节点[e.终点] = 当前;
                        队列.offer(e.终点);
                    }
                }
            }
            
            if (父节点[汇.编号] == -1) break; // 无增广路径
            
            // 计算路径最小剩余容量
            int 路径流 = Integer.MAX_VALUE;
            for (int v = 汇.编号; v != 源.编号; v = 父节点[v]) {
                int u = 父节点[v];
                路径流 = Math.min(路径流, 扩展网.获取边(u, v).剩余容量());
            }
            
            // 更新流量
            for (int v = 汇.编号; v != 源.编号; v = 父节点[v]) {
                int u = 父节点[v];
                扩展网.获取边(u, v).流量 += 路径流;
                扩展网.获取边(v, u).流量 -= 路径流; // 反向边
            }
            
            总流量 += 路径流;
        }
        
        return 总流量;
    }
}

现实中,芈月已祭出玉简。

“递归·虚空开辟!”

剑光斩过,虚空中裂开三道临时缝隙——正是三个虚节点!

姬玄同步计算:“连虚节点A到节点3,容量10;连节点7到虚节点B,容量8;连虚节点C到节点11,容量12…”

网络结构瞬间改变!

庞涓的最小割,被绕过去了

“不可能!”庞涓失声,“你怎么能临时改阵?!”

“因为你的阵法,”姬玄起身冷笑,“是静态的。而真实世界…是动态的。”

他挥手:“田将军!带兵过阵!新路径容量30,足够!”

“是!”田忌率兵冲入。

庞涓急吼:“拦住他们!”

但已经晚了。

虚节点维持的十息内,三百齐兵已冲过最小割区域,杀向三名魏国宗师!

然而…

就在最后一批士兵通过时,虚节点崩溃!

芈月灵力耗尽,喷血倒地。

更糟的是——庞涓亲自出手了


第五幕:宗师之战,图论巅峰对决

庞涓不再摇扇,手中多了一柄算筹剑

“姬玄,我承认你天赋惊人…但今日,你必须死。”

他剑指苍天:“第三阵——强连通分量封锁!”

天地变色,所有节点和边开始收缩合并

姬玄瞬间明悟:庞涓要将整个网络收缩成几个强连通分量(SCC),把他们困在某个分量里,永远到不了汇点T(临淄)!

“这是**科萨拉朱算法(Kosaraju)**的逆向运用…”姬玄扶住芈月,大脑飞转,“找SCC,然后…封锁边界。”

常规破法:找到自己所在SCC的所有边界边,强行突破。

但庞涓是宗师境,灵力压制!

“只能拼算法理解…”姬玄咬牙,“科萨拉朱算法核心是两次DFS:一次原图,一次反图。如果我…同时进行呢?”

一个疯狂念头涌现。

“公主,”姬玄低声道,“还能再用一次递归吗?”

芈月虚弱点头:“一次…最多。”

“好。你用递归实现并行DFS——同时遍历原图和反图!我来计算SCC的边界脆弱点!”

这是赌命。

芈月盘膝,玉简悬浮头顶,开始同时构建原图递归树反图递归树

姬玄则盯着收缩的网络,寻找那个关键边——连接他们所在SCC与其他SCC的边,且…权重可被修改。

找到了!

有一条边,权重正好是质数,且是当前SCC中唯一的质数权重边。

“质数…不可分解…”姬玄眼中闪过明悟,“庞涓用质数权重,是因为质数在模运算下性质特殊,难以被修改。”

“但反过来说…只要我能分解这个质数,就能打破权重封锁!”

怎么分解?

算法暴力分解?时间不够。

那么…用数学定理

“我记得…费马小定理:若p是质数,a不是p的倍数,则a^(p-1) ≡ 1 (mod p)。”姬玄飞速计算,“如果我能构造一个a,使a^(p-1) ≡ 0 (mod p)…不,不可能…”

等等。

威尔逊定理:(p-1)! ≡ -1 (mod p),当且仅当p是质数!”

姬玄眼睛亮了:“如果我证明这条边的权重p不满足威尔逊定理,就能证明它不是质数,从而分解它!”

但计算(p-1)!模p…p很大,不可能直接算。

需要快速阶乘模算法

“分段计算+中国剩余定理!”姬玄玉笔狂舞,“将p-1分解因式,分段计算模p,最后合并…”

这是极度复杂的数论计算,但姬玄在系统加持下,大脑如超级计算机!

三息。 五息。 十息…

“算出来了!”姬玄大喝,“(p-1)! ≡ 156 (mod p),不是-1!所以p不是质数!”

他一指点向那条边:“破!”

边权重闪烁,从质数p分解为两个因数:p = a × b!

权重封锁解除!

整个强连通分量开始分裂!

“噗——”庞涓遭反噬,吐血倒退。

他惊恐地看着姬玄:“你…你连数论都…”

姬玄不给他机会,抱起芈月:“田将军!冲出去!”

“杀——!”

齐兵冲锋,魏国阵师溃败。

庞涓怨毒地看了姬玄一眼,捏碎传送符消失。


第六幕:临淄城下,叛徒现身

冲出杀阵时,天已破晓。

临淄城轮廓在望,但…

城门紧闭,吊桥高悬。

城墙上,站着一个人。

齐国宰相——邹忌

田忌策马上前:“邹相!快开城门!大王危殆,殿下归来!”

邹忌却不动,俯视众人,缓缓道:“田将军,你身边那人…真是七王子吗?”

田忌一愣:“邹相何意?!”

“我接到密报,”邹忌冷声道,“真七王子已在迷宫遇害,此人是魏国细作假扮,欲入城害大王。”

“胡言!”田忌怒道,“殿下刚破庞涓三阵,救我等性命!”

“那更是可疑,”邹忌冷笑,“庞涓乃魏国宗师,姬玄一个‘纨绔’,如何能破?定是演苦肉计!”

姬玄心中冰冷。

他明白了——邹忌就是内奸

父王的算法反噬,恐怕就是邹忌做的手脚。现在他归来救父,邹忌必须阻止。

“邹相,”姬玄扬声道,“你说我是细作,有何证据?”

“证据?”邹忌挥手,“带上来!”

几名士兵押上一人——竟是赵国那名修士,姬玄在第一层迷宫救过的人!

修士满脸愧色,低头道:“是…是七王子逼我作伪证,说他破了迷宫…其实他是魏国安排…”

“你!”田忌气得发抖。

姬玄却笑了:“邹相好手段。但…你忘了一件事。”

“什么?”

“我救此人时,在他身上留了递归印记。”姬玄看向修士,“印记可记录他三日内所见所闻。要不要…现在公开?”

修士脸色惨白。

邹忌眼神一厉:“妖言惑众!弓箭手——”

城墙上出现数百弓箭手!

田忌拔剑:“邹忌!你敢?!”

就在剑拔弩张之际——

“住手!”

一声虚弱但威严的喝声响起。

齐威王,被两名太监搀扶着,出现在城楼!

他脸色苍白如纸,气息微弱,但眼神锐利如刀。

“父王!”姬玄惊喜。

齐威王盯着邹忌:“邹相…你告诉寡人,玄儿是细作?”

邹忌冷汗涔涔:“大王,您病体未愈…”

“寡人是算法反噬,不是瞎了!”齐威王咳嗽两声,“开城门,迎王子!违令者…斩!”

邹忌咬牙,最终挥手:“开城门…”

吊桥缓缓放下。

但姬玄看到,邹忌眼中闪过决然杀意。


第七幕:王宫救治,最大流医理

王宫,养心殿。

齐威王躺在玉榻上,胸前一道黑色递归纹路蔓延,正是栈溢出毒素。

太医令颤声道:“殿下,毒素已侵心脉,寻常药石无效…唯有《九章算法》第二卷‘方程术’可解。”

姬玄握着父王的手:“第二卷在魏国…但我有第一卷,或可一试。”

芈月虚弱道:“第一卷有‘方田术’,可计算面积…但与解毒何干?”

“将父王身体视为网络流图,”姬玄解释,“毒素是负流量,我需要找到从心脏到体外的最大流路径,将毒素‘冲’出去。”

这是将医学问题转化为最大流问题!

姬玄闭目,神识探入父王经脉。

果然——经脉如网络,穴位如节点,气血流动如边权重。黑色毒素堵塞了关键节点,形成“最小割”,使排毒路径中断。

“需要计算当前网络的最大流量,然后找到最小割集,强行打通。”姬玄对太医道,“准备九根金针,对应九个关键穴位。”

他再次动用埃德蒙兹-卡普算法,但在人体经脉中实施:

  1. 构建残存网络:将经脉建模为有向图,毒素堵塞处容量为0

  2. BFS找增广路径:神识扫描,找气血可流动的路径

  3. 沿路径‘推送’气血:冲开部分堵塞

  4. 重复直到无增广路径

这需要极度精密的控制。

姬玄额头见汗,神识如针,在父王经脉中穿梭。

一刻钟…

两刻钟…

“噗!”齐威王突然喷出一口黑血!

黑色递归纹路开始消退!

太医惊喜:“毒素排出来了!”

但姬玄脸色更凝重——他发现了更可怕的事。

毒素源头…不在体外。

在父王体内深处,有一个隐藏的递归函数,在不断生成新毒素!

“这是…”姬玄震惊,“有人将一段恶意递归代码植入父王功法中!只要运功,就会触发递归,生成毒素!”

芈月也探查到了:“好狠毒的手段…这是谁做的?”

“能接触父王核心功法,且精通递归的…”姬玄眼中寒光一闪,“邹忌。”

邹忌是齐国除淳于髡外,最擅递归之人!

而且,只有他能接触《齐民算法》原本!


第八幕:夜探相府,图遍历寻证

当夜,姬玄决定夜探相府。

芈月坚持同往:“你刚为齐王疗伤,灵力大损。我虽伤未愈,但还能一战。”

两人黑衣蒙面,潜入相府。

相府如迷宫,戒备森严。但姬玄用图遍历算法规划路线:

“用深度优先搜索(DFS)探路,发现守卫就回溯;找到书房就用广度优先搜索(BFS)找密室…”

他们在屋檐上飞掠,如两道影子。

书房果然有密室,但需要密码。

芈月看着门上的九宫格锁:“这是…数独锁?”

“不,是图着色问题。”姬玄观察,“九个格子,需填三种颜色,相邻不同色…这是判断三着色问题是否有解。”

他快速推演:“三着色是NPC问题,但九宫格规模小,可暴力解…”

正推演着,忽然——

“既然来了,何必偷偷摸摸?”

邹忌的声音从身后响起!

两人回头,邹忌带着十名死士,堵住退路。

“七王子殿下,”邹忌冷笑,“夜闯相府,可是死罪。”

“邹相,”姬玄摘下面巾,“父王体内的递归毒,是你下的吧?”

邹忌笑容消失:“殿下说什么,老夫听不懂。”

“需要证据?”姬玄指向密室,“证据就在里面,对吗?你与魏国勾结的信件,还有…递归毒的原始算法。”

邹忌沉默片刻,忽然笑了:“是又如何?齐王已中必死之毒,你也活不过今晚。”

他挥手:“杀!”

十名死士结阵杀来——这次是二分图匹配杀阵

每个死士分属两个集合,攻击时形成完美匹配,威力倍增!

芈月拔剑迎战,但伤势未愈,很快落于下风。

姬玄护住她,脑中急转:“二分图最大匹配…用匈牙利算法找增广路径,破坏匹配…”

但需要时间!

就在危急时刻——

“邹忌!你竟敢对殿下动手!”

田忌率兵杀到!原来姬玄离宫前,已让田忌暗中跟随。

邹忌脸色大变:“田忌?!你…”

“我早就怀疑你了!”田忌怒喝,“拿下!”

士兵围攻。

邹忌见势不妙,转身冲入密室!

姬玄急追:“他要毁证据!”

追入密室,只见邹忌正将一叠信件扔进火盆。

姬玄一剑挑飞火盆,但信件已烧大半。

邹忌狞笑:“晚了!没有证据,你能奈我何?”

姬玄却看向密室墙壁——墙上刻着递归毒的核心算法

他立即用玉简拓印。

邹忌见状,扑上来拼命。

两人在密室中对掌,灵力激荡!

姬玄新晋宗师,但消耗太大;邹忌是老牌宗师,且狗急跳墙。

就在姬玄渐感不支时——

“递归·斩!”

一道剑光从背后刺穿邹忌!

芈月脸色苍白,剑尖滴血:“这一剑…为齐王,也为…算法正道。”

邹忌倒地,眼中满是不甘。

姬玄扶住芈月:“你伤更重了…”

“不碍事。”芈月虚弱一笑,“快拓印算法,救你父王。”


第九幕:递归解毒,堆栈修复术

带回递归算法后,姬玄连夜研究。

这毒果然精妙:一个无限递归函数,嵌在《齐民算法》的某个循环中。只要齐王运功,就会触发递归,且没有终止条件

解法:要么找到终止条件,要么…强行设置递归深度上限

“系统,”姬玄心中呼唤,“可兑换‘栈帧修复术’吗?”

【系统】:检测到需求“递归深度限制”

【兑换项】:尾递归优化术(8000金币)、迭代改写术(10000金币)、栈帧手动修复术(12000金币)

【当前金币】:18200

“兑换栈帧手动修复术。”

【兑换成功,扣除12000金币】

【获得《栈帧修复术·上古卷》】

姬玄立即学习。

原来原理是:在递归调用时,手动管理栈帧,设置深度计数器,超限则强行返回。

他结合邹忌的递归毒代码,写出了解毒算法

class 递归解毒 {
    // 原毒代码(恶意递归)
    void 递归毒(int 深度) {
        if (深度 > 10000) { // 恶意:永远不成立的条件
            return;
        }
        // 生成毒素
        生成毒素();
        // 递归调用
        递归毒(深度 + 1); // 无限递归
    }
    
    // 解毒算法:栈帧修复版
    void 修复版(int 深度, int 最大深度) {
        // 手动栈帧管理
        if (深度 >= 最大深度) {
            // 强行返回,避免栈溢出
            return;
        }
        
        // 修复:将递归调用改为尾递归形式
        生成毒素();
        
        // 模拟栈帧弹出/压入
        保存现场();
        // 尾调用优化
        修复版(深度 + 1, 最大深度);
        恢复现场();
    }
    
    // 最终方案:改为迭代
    void 迭代解毒() {
        int 深度 = 0;
        while (深度 < 安全深度) {
            生成毒素();
            深度++;
            // 每千层检查一次身体状态
            if (深度 % 1000 == 0) {
                if (身体承受不住()) {
                    break; // 提前终止
                }
            }
        }
    }
}

拿着算法,姬玄再次为父王疗伤。

这次,他深入递归毒的核心,在每次递归调用前插入深度检查,超限则强行跳出。

这是个精细手术,稍有不慎,可能伤及父王功法根基。

三时辰后。

齐威王再次喷血,但这次是瘀黑毒血

胸前的递归纹路彻底消失!

太医探查后惊喜道:“毒素全清!大王脉象平稳了!”

姬玄松了口气,眼前一黑,几乎晕倒。

芈月扶住他:“你消耗太大了…”

这时,齐威王悠悠转醒。

他看着姬玄,眼中欣慰:“玄儿…你救了父王,也救了齐国。”

“父王,”姬玄跪下,“邹忌已伏诛,但魏国不会罢休。庞涓逃了,必会报复。”

齐威王挣扎坐起:“传寡人旨意:一、厚葬阵亡将士;二、追查邹忌余党;三、封七王子姬玄为算法监国,总领齐国算法事务!”

“父王,儿臣…”

“你有这个能力。”齐威王握住他的手,“而且…你身边这位楚国公主,似乎也值得信任。”

芈月脸红低头。

齐威王又咳嗽两声:“还有…玄儿,你与芈月公主的事…寡人准了。”

姬玄、芈月皆是一愣。

“父王,我们…”

“寡人还没老糊涂。”齐威王笑道,“你们在迷宫并肩作战,在城外生死与共…这若不算情谊,什么算?”

他正色道:“但楚王那边…需有个交代。芈月,你可愿暂留齐国,助玄儿一臂之力?”

芈月看了姬玄一眼,轻声道:“愿意。”


尾声:风雨欲来

三日后,邹忌谋逆案查清。

他不仅对齐王下毒,还私通魏国,承诺若助魏得《九章算法》,魏助他篡位。

牵扯出朝中十三名官员,全部下狱。

齐威王康复临朝,第一件事就是——对魏国宣战

“魏国设杀阵截杀王子,此仇必报!”齐威王诏令,“田忌为帅,姬玄为军师,率军十万,伐魏!”

同时,姬玄公开《九章算法·第一卷》基础篇,齐国算法修士欢呼雀跃。

但姬玄心中清楚——真正的战争,才刚刚开始。

庞涓未死,魏国还有更强算法高手。

而且…秦国、楚国态度暧昧,赵国、韩国蠢蠢欲动。

“在想什么?”芈月走到他身边。

姬玄望向西方:“在想…庞涓此刻在做什么。”

“他一定在准备更可怕的阵法。”芈月担忧,“你刚封监国,就要出征…”

“有些仗,必须打。”姬玄握住她的手,“而且这次…我有你。”

芈月脸微红,却没抽手。

这时,系统提示:

【新主线任务:伐魏之战】

【目标:击败魏国算法军团,擒杀庞涓】

【关键算法:动态规划(行军路线)、博弈论(战术决策)】

【特殊:解锁“军阵算法”模块】

【支线任务:楚国之约】

【目标:获得楚王认可,正式与芈月订婚】

【需完成:楚王出的三道算法难题】

【难度:★★★★★】

姬玄笑了。

算法治国,算法治军,算法…还能定姻缘。

这个时代,越来越有意思了。

但他没注意到…

临淄城外,某处阴影中,一道黑影正盯着王宫方向。

黑影手中,捏着一枚血色玉简:

“姬玄…你破我三阵,杀我棋子…接下来,让你见识真正的‘图论杀局’。”

“魏国国师…鬼谷子,已出山。”


【下章预告】

第四章:鬼谷出山,动态规划

核心算法:背包问题(粮草分配)、最长公共子序列(破译军情)

关键冲突:鬼谷子布“多维背包杀阵”,姬玄需同时优化多个目标

感情进展:芈月为救姬玄中咒,姬玄怒而突破

新危机:秦国突然出兵,意图坐收渔利…


【本章算法知识点】

  1. 最短路径:Dijkstra(正权) vs Bellman-Ford(可负权)

  2. 最大流最小割:Edmonds-Karp算法(BFS找增广路径)

  3. 强连通分量:Kosaraju算法(两次DFS)

  4. 图着色与NPC问题:三着色问题的复杂性

  5. 递归与栈溢出:深度限制与尾递归优化

  6. 二分图匹配:匈牙利算法

(对应LeetCode:743网络延迟时间、207课程表、200岛屿数量等…)