题目: http://poj.org/problem?id=1042
题解:时间可以分为两部分,一部分是在路上的时间,一部分是用于钓鱼的时间,花在路上的时间最多是从第一个池塘到最后一个池塘的时间,所以用总时间减去从第一个池塘到最后一个池塘路上的时间,就是用于钓鱼的时间,,,,要求可能调到的最多的鱼,首先求处从第一个池塘到第i个池塘能调到的最多的鱼。然后让i从0到n模拟,就是说分别求出从第一个池塘到第i,i+1,...n个池塘的最多的鱼。当没有鱼了或者时间不够了,退出循环,i向后加1。。。每次找剩余鱼最多的池塘进行钓鱼,然后重新在第一个池塘到第i个池塘中剩余最多的鱼的池塘进行钓鱼,可以求出在每个池塘停留的时间,也可以求出一共掉了多少鱼,因为路是单行路,所以不能返回去钓鱼, 假如现在求的是从第一个池塘到第二个池塘可以钓的最多的鱼,第一次池塘二的剩下的鱼多,然后在池塘二掉一次,然后再判断池塘一与池塘二哪个剩的鱼多,加入现在第一个池塘剩的鱼多,那么这次在池塘一钓鱼,,,但是不是说不能返回去钓鱼吗??? 其实可以这样想,假如第一次在池塘二钓了3条鱼,然后在池塘一掉了2条鱼,那么当它途径第一个池塘的时候就可以先钓2条鱼,等到经过第二个池塘的时候再钓3条鱼。 细节就是每次要记录这次循环时 在每个池塘停留的时间,i循环,,然后如果找到比之前能钓到更多的鱼时,就要更新在池塘停留的时间,还有就是如果出现相等的解时,就看他们谁在第一个池塘停留的时间多