首頁>Club>
2
回覆列表
  • 1 # 萌萌噠的程式設計師

    首先你得有一個學習路線:

    相信我沒有捷徑可走,努力一定是必須的,唯一我覺得值得注意的,是學習的知識的時候一定要有計劃分模組,這樣效率最高,平時多看看書,有一個領你入門的老師那是最好不過了,畢竟“讀萬卷書不如行萬里路,行萬里路不如閱人無數,閱人無數不如名師指路。”

  • 2 # 夜雨北迴

    利益相關,答主的大學也算是ACM比較強的學校。雞湯放在前面,努力是唯一途徑,即便是天才也需要良好的基礎。

    首先,需要對程式語言有一定的瞭解。但如果只是為了acm的話,不需要了解得太深,ACM只需要C with stl即可,也就是C語言的基礎加上C++中STL的應用。因此不推薦像《C Primer Plus》和《C++ Primer Plus》一類的書,講的太細緻了而且對於ACM幫助有限,容易導致失去動力。比較推薦的是薄一點的C語言大學教科書,掌握常用的語法即可。

    其次,刷題是必不可少的。比如我校Claris大佬,在大學刷了幾千道題,才有了ACM全球決賽20名的優異成績。當語言基礎基本掌握後,可以在各個OJ上刷題,先挑簡單的題目刷,目的是熟悉語言以及ACM比賽的規則,例如HDOJ第11頁。多思考、多看題解。當熟悉了簡單題後,可以考慮看書來學習了,推薦劉汝佳的《演算法競賽入門經典》。根據劉書來學習所需要的C++知識以及一些基礎的演算法知識,然後就是不斷刷題學習新演算法、鞏固知識、提升自己了。

    最後,多參加一些網賽。各大OJ都經常會組織一些網賽,例如ECNUOJ、CodeForces、牛客網等等。

    最後的最後,提一些注意事項吧。很多人覺得ACM應該學C++,因為提交程式碼絕大多數都是用C++提交的,實際上不是這樣,ACM絕大多數程式碼都是C語言的部分,C++的特性需要的很少,用C++提交是因為相容C以及用一些STL。ACM正式比賽都是全英文命題,因此英文水平不能差,不然很可能會理解錯題意。

    以上

  • 中秋節和大豐收的關聯?
  • 有個很奶萌的男票是什麼樣的體驗?