集訓04 06 (c 實現)

2021-09-19 04:32:11 字數 1861 閱讀 8551

極力推薦《演算法筆記》這本書!!!

極力推薦《演算法筆記》這本書!!!

極力推薦《演算法筆記》這本書!!!

(重要的事情說三遍)

資料結構和演算法講的很好,反正我能想到的問題它都給我了答案,**中使用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行 每行是乙個點的座標以及它...