05 2020 档案
摘要:#include <iostream> #include<algorithm> using namespace std; class Test { public: Test(int num) { this->num = num; } public: int num; }; //引用 void cha
阅读全文
摘要:需要的头文件有 在主函数中使用StreamTokenizer和PrintWriter类 输入结束标志参数为 注意读入的时候要调用nextToken()函数,输出之后调用flush()函数,以hdu 1029为例 二、BufferedReader实现快速输入读一行 需要导入的jar
阅读全文
摘要:Wormholes "POJ 3259" 这题是最短路问题中判断是否存在负圈的模板题。 判断负圈的一个关键就是理解:如果在图中不存在从s可达的负圈,最短路径不会经过一个顶点两次。while循环最多执行v 1次。 这题还需要注意的是输入的w条边的权值是负值,因为这是虫洞边。
阅读全文
摘要:Currency Exchange "POJ 1860" 这题其实是最短路问题的变形,但是这里不用求解最短路,而是求解路径中是否存在正圈。如果存在正圈则说明兑换后的货币可以一直增加,否则不能实现通过货币转化来增加财富。 这和经典的使用Bellman Ford判断是否存在负权也有不同的地方,这里需要在
阅读全文
摘要:Silver Cow Party "POJ 3268" 这题也是最短路的模板题,只不过需要进行两次求解最短路,因为涉及到来回的最短路之和。 该题的求解关键是:求解B A的最短路时,可以看做A是起点,这就和求解A B的最短路很类似了,只不过需要将单向路的距离调换一下即可。 JAVA:
阅读全文
摘要:Heavy Transportation "POJ 1797" 这题是最短路题型的变形,该题不是求起点到终点的最短路,而是求路径中的最小边的最大值。 这题的求解思路是:将原来dijkstra中的松弛方程改一下,改成求最小边的最大值的松弛方程:d[j]=max(d[j],min(d[i],w[i][j
阅读全文
摘要:Til the Cows Come Home "POJ 2387" 这题是最简单的最短路求解题,主要就是使用dijkstra算法,时间复杂度是. 需要注意的是,一定要看清楚题目的输入要求,是先输入边,再输入顶点,一开始我没看清,wrong answer了一次。
阅读全文