摘要: 题意:有若干种货币,并给出其互相交换的汇率,问能不能找到一个小于n的环使起始点的货币交换之后增长超过1%。思路:这道题坑了两个小时,一开始看他数据量比较小才20就想用搜索剪枝,后来仔细算了一下还是会超时的,再后来就去看解题报告了。果断想的方向就错了,其实是动态规划状态一看就知道该怎么写了=。=和floyd很像的。dis[i][j][k]表示从i到j交换k次所获得的最大收益。然后四重循环每次枚举中间结点v并从dis[i][v][k-1]转移过来。别忘了转的时候要记录路径。算好之后从1-k扫描一有超过1.01就打印路径即可。代码如下:(我写的比较长0.0) 1 #include 2 #inclu. 阅读全文
posted @ 2013-12-10 01:54 张小豪 阅读(147) 评论(0) 推荐(0) 编辑