第164章 我写切割流?真的假的(1/2)
娘娘峰满意地巡视了一圈,看着大部分学生已经敲出了“helloworld”,于是缓缓推开讲台上的第二份ppt,嘴角一挑,语气不紧不慢地说道:
“很好,既然大家都掌握了输出语句,那我们可以进入今天的正题——最小割与最大流。”
教室瞬间陷入一种“刚起步就被按进高铁”的气氛。
“这个内容呢,是图论中非常重要的一部分,用于解决很多复杂问题,比如——怎么在不被班主任发现的前提下,最大限度地从食堂挪出鸡腿;又或者,怎么从首翔家里偷走最大数量的小说草稿,同时只破坏最少的门锁。”
陈屑扬举手:“老师,您刚才那句话,是不是在暗示我可以干坏事了?”
“不是暗示,是建模。”娘娘峰平静地打开ppt第三页,上面赫然写着:
《基于Ford-Fulkerson算法的鸡腿流动网络最大化问题》
“听好了,”他开始在黑板上画图,“我们设食堂为源点,首翔为汇点,途中有若干个节点代表同学、窗口、饭卡余额、地理位置等因素。我们要做的,是找出一条从食堂出发、到达首翔饭盒的路径,使得鸡腿流量最大,同时……路径中最薄弱的那一段叫做——最小割。”
皮皮一世已经趴在桌子上开始神游:“老师我错了,我就想安安静静地写个printf,没想到直接冲上了天。”
“举个例子,”娘娘峰继续讲解,丝毫不受精神逃亡者影响,“布朗·贝尔从窗口A拿了两个鸡腿,窗口b给了他一个,但他的饭卡余额只能支持两个单位的鸡腿购买,这时候‘饭卡余额’这个节点就构成了‘最小割’,因为它限制了整个系统的最大流量。”
“我靠,这也能这么讲?”朱孝公顶针惊呼,“我上次被限流竟然不是因为我胖,是因为我饭卡余额不够!”
“就是这样,”娘娘峰点头,“所以说,最小割并不代表你弱,它只是你的人生中,那一条最关键的瓶颈。”
“那我如果删掉所有限制我的边,是不是我就能一直吃鸡腿?”马giao鱼认真问道。
“你删掉所有边,你就断网了。”
“总之,”娘娘峰语气坚决地总结道,“如果你们想在信息竞赛中杀出重围,学会最大流最小割,就是你们的第一场硬仗。”
皮皮一世默默把“helloworld”后面改成了“helpme”。
娘娘峰思考了一会儿,忽然神秘一笑,猛地啪地一下拍在讲台上:“既然大家都听得这么带劲,那咱们就——实战演练!”
只见他从背包里掏出一个神秘U盘,插进讲台上的电脑,投影幕布闪了两下,竟然出现了一个自制在线评测平台界面,界面左上角赫然写着:
“帅气小梁oJ平台v0.1beta”
底下还有一行闪烁的提示文字:
“系统由帅气小梁老师亲手开发,如有bug,欢迎线下当面举报,勿带武器。”
“来来来,现在给你们布置一道题目。”娘娘峰兴奋地敲了几行代码,啪一下回车,屏幕瞬间刷出一道题:
problemA:
《拯救鸡腿网络》
在一个有向图中,每条边有容量,代表可通过的鸡腿数量。现在需要从源点“食堂”送鸡腿到汇点“首翔的饭盒”。你需要计算出最大鸡腿流量,并找出阻碍鸡腿流动的最小割。
输入格式:
?\t第一行两个整数n,m(节点数与边数)
本章未完,点击下一页继续阅读。