串行七轮并行要几轮

还是那七个构建任务。这次机器不限:一轮里所有「依赖都做完了」的任务可以同时开工。 下面这段把任务分成一层一层,每一层里的任务可以同时开工。输出串行轮数和并行轮数: #include <algorithm> #include &l

开始练习 →

自己写:把任务分层

还是那七个构建任务。这次机器不限:一轮里所有「依赖都做完了」的任务可以同时开工。 补全分层:整层一起推进,这一层全做完,才轮到下一层。输出每一层各有几个任务。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

自己写:算出并行要几轮

还是那七个构建任务。这次机器不限:一轮里所有「依赖都做完了」的任务可以同时开工。 layers 已经写好了。补全 rounds,输出串行轮数和并行轮数。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

砍一条依赖有的省有的白砍

还是那七个构建任务。这次机器不限:一轮里所有「依赖都做完了」的任务可以同时开工。 现在允许你砍掉一条依赖。分别砍掉 1 → 3 和 3 → 4,各输出砍完之后的并行轮数。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

每个任务最早第几轮开工

还是那七个构建任务。这次机器不限:一轮里所有「依赖都做完了」的任务可以同时开工。 上一道给的是「每层有几个」,这道要「每个任务在第几层」。按任务编号 0~6 的顺序输出各自最早的开工轮次。 (本题用 g++ -std=c++17 -O0 编

开始练习 →

强连通说的是什么

第 1 步:一张有向图 第 2 步:从 B 走到 C 第 3 步:从 C 走到 F 第 4 步:从 F 走到 E 第 5 步:从 E 走到 B 第 6 步:绕回来了:四个互相可达 第 7 步:A、D 只能单向:各自一组 A B C D E

开始练习 →

一个分量最少有几个点

一个点,如果没有任何一条环经过它,那它自己【0】。

开始练习 →

有几个分量最大的多大

还是那七个点,这次把 5 → 3 那条边加回来,于是图里有了环。 运行下面这段程序: #include <algorithm> #include <climits> #include <iostream>

开始练习 →

最大的分量里是哪几个

还是那七个点,这次把 5 → 3 那条边加回来,于是图里有了环。 运行下面这段程序: #include <algorithm> #include <climits> #include <iostream>

开始练习 →

自己写:第二遍在反图收点

还是那七个点,这次把 5 → 3 那条边加回来,于是图里有了环。 第一遍的完成顺序 order_by_finish 已经写好了。补全第二遍——在反图 second 上按完成顺序的逆序收点,输出分量个数和最大分量的大小。 (本题用 g++ -

开始练习 →