AcWIng344 觀光之旅(floyd求最小環)

2022-05-28 15:27:11 字數 760 閱讀 9290

求最小環的原理是dp的思想,我們以環中最大的節點作為斷點,這樣在求floyd的過程中,在更新之前,可以用i和k以及j和k相連的兩條線路以及原先i和j在前k-1已經求出的最短路當作環進行比較

因為我們分割出了所有情況。而在求取方案的時候,我們設定乙個pos陣列,表示最短路的分割點,進行遞迴求取

#include#include

using

namespace

std;

const

int n=200

;const

int inf=0x3f3f3f3f

;int

d[n][n];

intg[n][n];

intpos[n][n];

intpath[n];

intn,m;

intcnt;

void

get(int l,int

r)int

main()

for(i=1;i<=m;i++)

int res=inf;

memcpy(g,d,

sizeof

g);

for(k=1;k<=n;k++)}}

for(i=1;i<=n;i++)}}

}if(res==inf)

cout

<

no solution.

"<

for(i=0;i)

cout

<

}

view code

344 反轉字元

看到題目的第一反應,好簡單啊,直接將第乙個與最後乙個對調,第二個與倒數第二個對調不就搞定了?不過這樣時間和空間上複雜度肯定會高一點,結果也不出所料 執行用時 216 ms 在reverse string的python3提交中擊敗了8.11 的使用者 記憶體消耗 17.6 mb 在reverse st...

leetcode演算法題 344

344.編寫乙個函式,其作用是將輸入的列表或字串反轉過來,假設輸入的資料型別是list.示例1 輸入 h e l l o 輸出 o l l e h 分析 之前看過別人用python解這道題,直接return s 1 可以用是可以用,但了解不到這裡的演算法的精髓,有點討巧的意思。這題的使用演算法思路來...

344 反轉字串

一.題目 編寫乙個函式,其作用是將輸入的字串反轉過來。示例 1 輸入 hello 輸出 olleh 示例 2 輸入 a man,a plan,a canal panama 輸出 amanap lanac a nalp a nam a 二.思路及 這個屬於比較簡單的字串題。法1 新建乙個空字串,將舊字...