極力推薦《演算法筆記》這本書!!!
極力推薦《演算法筆記》這本書!!!
極力推薦《演算法筆記》這本書!!!
(重要的事情說三遍)
資料結構和演算法講的很好,反正我能想到的問題它都給我了答案,**中使用c++容器和演算法恰到好處,使得**通俗易懂並且容易實現,不至於陷於c++的語言細節中,只學過c語言的同學請放心食用,每個**平均就3-4行用到c++。資料結構除了樹與圖要自己實現以外其他c++都給予實現,同時樹與圖中的廣度遍歷經常要使用到佇列(qutue),直接呼叫qutue就可以,如果使用陣列模擬佇列實在是勸退。反正《演算法競賽入門經典》把我勸退了,(沒有看完不多評價)
我的**用c++的特性比較多,不過這些特性真的很好用啊
集訓隊練習04
7-1 旅遊記 //這題考了圖的最短路徑,我使用了floyd演算法
#includeusing namespace std;
int main()
for (int item = 0; item < b; ++item)
for (int k = 1; k <= a; ++k)//floyd演算法只有短短7行,詳情演算法筆記
for (int i = 1; i <= a; ++i)
for (int j = 1; j <= a; ++j)
cin >> n >> m;
if (c[n][m] == 20 + 1)
sort(b.begin(), b.end());
b.erase(unique(b.begin(), b.end()), b.end());
cout << b.size() << endl;
for (auto j : b)
cout《集訓隊練習05
7-1 找數字
#includeusing namespace std;
using namespace std;
int main()
} cout << count << endl;
count = 0;
}}
7-2 統計相同數字的個數
#includeusing namespace std;
int main()
for (auto i : a)
}
7-1 大數計算
大數計算是經常出現在競賽題目中的一種情況,c++的實現是用到的字串string
#includeusing namespace std;
int main()
for (auto j : b)
if (j != string("0"))
else
}if (d == 1)
}else
}count = 0;
flag = 0;
b.clear();
m = 0;
++count2;
cout << endl;
}}
7-2 集訓隊測試成績管理
#includeusing namespace std;
int main()
for (int j = 0; j < b; ++j)
else
}c.clear(); }
}
7-3 集訓隊測試成績管理(1000ms)//7-2,7-3**一樣
#includeusing namespace std;
int main()
for (int j = 0; j < b; ++j)
else
}c.clear();
}}
湖南集訓 4 13 c
找到 n 維向量 x,最小化 i 0m bi j 0 nai,jxj 2 n 103,m 2 103 開o2,3秒時限。多元函式的最值問題。這裡有乙個比較經典的做法,首先求出需要求最值的函式對每乙個變數的偏導數,然後使他們都等於 0 解出來各變數的值是使原函式達到駐點的值。以這道題為例,略微整理一下...
雅禮集訓 小C飲水記
標籤 鍊錶,貪心 暴力做法 貪心,對於每個區間,從大到小排序,顯然,wi大的對答案貢獻越大 時間複雜度o n 3 log n 正解 因為題目輸出實數,所以當交換次數到一定時候,對答案的影響可以忽略不計 這個t大約是30次 對每個wi的貢獻單獨計算 每個wi只對相鄰的t個產生貢獻,所以取前後各t個 計...
省隊集訓day6 C
給定平面上的 n 個點,其中有一些是紅的,其他是藍的.現在讓你找兩條平行的直線,使得在保證 不存在乙個藍色的點 被夾在兩條平行線之間,不經過任何乙個點,不管是藍色點還是紅色點 的前提下,被夾在平行線之間的紅色點個數最多 第1行 乙個整數 n 1 n 1000 第2.n 1行 每行是乙個點的座標以及它...