题型:组合题
(第k小路径)给定一张n个点m条边的有向无环图,顶点编号从0到n-1对于一条路径,我们定义"路径序列"为该路径从起点出发依次经过的顶点编号构成的序列。求所有至少包含一个点的简单路径中,“路径序列”字典序第k小的路径。保证存在至少k条路径。上述参数满足1≤n,m≤105和1≤k≤1018。
在程序中,我们求出从每个点出发的路径数量。超过1018的数都用1018表示。然后我们根据k的值和每个顶点的路径数量,确定路径的起点,然后可以类似地依次求出路径中的每个点。
试补全程序。

③处应填()
| A. std::min(f[u]+ f[v],LIM) |
B. std::min(f[u]+ f[v]+1,LIM) |
| C. std::min(f[u]* f[v],LIM) |
D. std::min(f[u]*(f[v]+ 1),LIM) |
①处应填()
| A. k>= f[u] |
B. k <= f[u] |
| C. k>f[u] |
D. k<f[u] |
④处应填()
| A. u!=-1 |
B. !E[u].empty() |
| C. k>0 |
D. k>1 |
②处应填()
| A. deg[v]== 1 |
B. deg[v]== 0 |
| C. deg[v]> 1 |
D. deg[v]>0 |
⑤处应填()
| A. k += f[u] |
B. k-= f[u] |
| C. --k |
D. ++k |
更新时间:2023-09-19 14:17:33
|
【知识点】
CCF非专业级别软件能力认证CSP-S/提高级
抱歉! 您未登录, 不能查看答案和解析点击登录












