原文銜接:
以下是我的**:
#include #include #include #include #include using namespace std ;
int minnum(vector> , pair);
int main()
else}}
sort (vec0.begin(),vec0.end());
sort (vec1.begin(),vec1.end());
int a[800][800] = ;
for (int i = 0 ; i < vec0.size() ; i++)
for (int j = 0 ; j < vec1.size() ; j++)
for (int i = 0 ; i > vec, pairp)
sort (num.begin(),num.end());
return num.at(0);
}
大體思路,就是把0點存放在乙個陣列,1點存放在乙個陣列,然後將1點的陣列中的元素減去0陣列的元素求取最小值。但是只得了50分,what ! 原來是超出時間了,一定是複雜度太高了。
經過檢視大神的**1:
經過檢視大神的**2:
經過檢視大神的**3:
好吧,好像是個bfs問題,啥是bfs,原來是廣度搜尋。讓我思考一下,有時間寫部落格發表。
編輯距離問題
問題描述 設a和b是2個字串。要用最少的字元操作將字元a轉化為字元b。字元操作包括 1 刪除乙個人字元。2 插入乙個字元。3 將乙個字元改為另乙個字元。將字串a變換為字串b所用的最少字元運算元稱為字串a到b 的編輯距離,記為d a,b 設計乙個演算法,對給定的任意兩個字串a和b計算出他們的編輯距離d...
素數距離問題
時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 現在給出你一些數,要求你寫出乙個程式,輸出這些整數相鄰最近的素數,並輸出其相距長度。如果左右有等距離長度素數,則輸出左側的值及相應距離。如果輸入的整數本身就是素數,則輸出該素數本身,距離輸出0 輸入第一行給出測試資料組數n 0輸...
素數距離問題
時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 現在給出你一些數,要求你寫出乙個程式,輸出這些整數相鄰最近的素數,並輸出其相距長度。如果左右有等距離長度素數,則輸出左側的值及相應距離。如果輸入的整數本身就是素數,則輸出該素數本身,距離輸出0 輸入第一行給出測試資料組數n 0輸...