- 4
- 0
- 约1.3千字
- 约 27页
- 2017-06-02 发布于四川
- 举报
最优贸易和它的神马们;最优贸易;【输入】
输入文件名为trade.in。
第一行包含2个正整数n和m,中间用一个空格隔开,分别表示城市的数目和道路的数目。
第二行n个正整数,每两个正整数之间用一个空格隔开,按标号顺序分别表示这n个城市的商品价格。
接下来m行,每行有3个正整数,x,y,z,每两个整数之间用一个空格隔开。如果z=1,表示这条道路是城市x到城市y之间的单向道路;如果z=2,表示这条道路为城市x和城市y之间的双向道路。
【输出】
输出文件trade.out共1行,包含1个整数,表示最多能赚取的旅费。如果没有进行贸易,则输出0。
【数据范围】
输入数据保证1号城市可以到达n号城市。
对于10%的数据,1≤n≤6。
对于30%的数据,1≤n≤100。
对于50%的数据,不存在一条旅游路线,可以从一个城市出发,再回到这个城市。
对于100%的数据,1≤n≤100000,1≤m≤500000,1≤x,y≤n,1≤z≤2,1≤各城市水晶球价格≤100。
;此题解法繁多,官方解法是缩点+拓扑排序……
今天就来讲一下缩点的一种算法——Tarjan;Tarjan是神马?;Tarjan算法;【算法思想】;算法流程演示;返回节点5,发现DFN[5]=LOW[5],退栈后{5}为一个强连通分量。;返回节点3,继续搜索到节点4,把4加入堆栈。发现节点4向节点1有边,节点1
原创力文档

文档评论(0)