@[笑天真](/user/235052)
您能用自己的话先描述一下您的解题逻辑吗?这样既方便别人判断您的解题思路是否正确,也有助于您自己理清解题思路,以便后续检查代码实现是否正确。
by metaphysis @ 2020-05-16 17:52:04
@[metaphysis](/user/333388) 复制cz犇犇还行
by JRzyh @ 2020-05-16 18:02:26
@[Zhaoyuhang2008](/user/242524) 怎么不行(
by Malody @ 2020-05-16 18:26:58
@[metaphysis](/user/333388) 啊好的大佬,我这个是用tarjan 缩点之后跑DAG,缩完点我重新建了一下图,导致代码冗长且丑
by 笑天真 @ 2020-05-21 12:07:50
有两个主要的问题:(1)顶点数目上限过小,题目描述中顶点数目最大可能为 100000 个,加上后续缩点,总的顶点数目最多可以达到 200000 个,应该将顶点数目设置为 200010 较为合适。(2)您在解题中没有考虑到如下情况:在中间的某两个城市买进和卖出以赚到最多的钱。例如以下Hack数据:
```
4 3
1 100 1 1
1 2 1
2 3 2
3 4 1
```
您的代码无法正确处理。原因在于您没有将可能的最大赚钱传递到后续顶点。
关于强连通分支和相应的 Tarjan 算法,您可以参考我的博客文章:[强连通分支和半连通分支](https://blog.csdn.net/metaphysis/article/details/106258376)。
有空请您访问我的 [CSDN博客](https://blog.csdn.net/metaphysis),里面有我写的一本书,内有编程竞赛相关内容的介绍,并附有对应的练习题目(题目源自UVa OJ),可免费下载此书的PDF版本:[《C++,挑战编程——程序设计竞赛进阶训练指南》](https://blog.csdn.net/metaphysis/article/details/90288252)。
@[笑天真](/user/235052)
by metaphysis @ 2020-05-21 15:52:30
@[metaphysis](/user/333388) 哇qwq谢谢大佬,爱您
by 笑天真 @ 2020-05-22 20:34:22