文章分类 - 最长路径
摘要:有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接,问这n 个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误。随手写,未经编译,只保证思想,不保证正确性。使用bellman-ford的时间复杂度较高,如果入度为0的点有m个,e为边数量,则时间为O(mnE)//有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接,//问这n 个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误。int node_num;vector > graph; // 邻接
阅读全文
摘要:1。 肯定不能用dijkstra算法,这是因为,Dijkstra算法的大致思想是每次选择距离源点最近的结点加 入,然后更新其它结点到源点的距离,直到所有点都被加入为止。当每次选择最短的路改为每次选择最长路的时候,出现了一个问题,那就是不能保证现在加入的结 点以后是否会被更新而使得到源点的距离变得更长,而这个点一旦被选中将不再会被更新。例如这次加入结点u,最长路为10,下次有可能加入一个结点v,使得 u通过v到源点的距离大于10,但由于u在之前已经被加入到集合中,无法再更新,导致结果是不正确的。 如果取反用dijkstra求最短路径呢,记住,dijkstra不能计算有负边的情况。。。2.可以用.
阅读全文

浙公网安备 33010602011771号