半個月機考指北

半個月機考指北
整理一下自己的機考備考路線:
零、引文
C++覆蓋所有機考場景(除了極個別只能寫C的)
本文的目的是短時間內(nèi)快速提升機考分數(shù)以及備考常用算法(面試中經(jīng)常被問)
已知不適用于清華機考(二三題),難度差別太大。適用于清華機考第一題(簽到題也有一定難度,考察知識點多而雜)
如果不認可,請當笑話或者繞道而行。此文是在極其有限的時間內(nèi)臨陣磨槍,不是系統(tǒng)性的打磨自己的算法,還請ACMer手下留情,對于我們而言,這只是一門考試考核,不是熱愛。
一、? 前置準備
數(shù)據(jù)結(jié)構(gòu)課程回顧
復(fù)習(xí)基礎(chǔ)知識(圖、樹、棧、隊列、堆);
https://www.bilibili.com/video/BV1nJ411V7bd
可以看一下課程目錄,快速找自己忘記的基礎(chǔ)知識,時間不宜超過1天。
二、? 算法快速入門
課程:acwing算法基礎(chǔ)課程
acwing官網(wǎng)購買:https://www.acwing.com/activity/content/11/
私信滴滴我發(fā)網(wǎng)盤鏈接
其中,數(shù)學(xué)章節(jié)可以一筆帶過,對于數(shù)學(xué)不太好的,看起來吃力,性價比不高。
課程是C++語言的。
Q:不會C++?
A:跟著課程就行,課程主要講常見算法的寫法(就是背模板);用到的C++語法無非是函數(shù)調(diào)用、數(shù)組、遍歷等,沒多少語法,多寫幾次就很熟了,不需要額外去學(xué)什么C++語法。
Q:下載下來看?
A:自己想辦法,百度一堆免費b站視頻下載辦法。
機考不建議備考其他語言,必吃虧。
學(xué)完之后目標應(yīng)該是:熟練掌握里面的模板,能準確無誤、快速打出來。
學(xué)的過程怎么練:不用刻意的去找題,反復(fù)熟悉模板,理解后快準狠的打出來!
他的模板相對網(wǎng)上零散的模板,配合上他的講解,更容易理解。
記住,一定要準確無誤且快速,考場上沒有這么多時間讓你去調(diào)試、試錯。
三、? 練習(xí)
用Leetcode
練什么題:
三種方法:
1.? 用力扣的題目分類(逐個知識點擊破)

2.? 題目分類(分類更細,但是題更少)
https://leetcode.cn/circle/discuss/E3yavq/
3.? 力扣熱門100題(涵蓋各種知識點,熱門題型)
https://leetcode.cn/problemset/all/?listId=2cktkvj&page=1
前兩者,更適合學(xué)習(xí)時候定向練習(xí)知識點(知識點鞏固和加深理解)。熱門100題主要用來訓(xùn)練思維,也就是做高頻題(這道題用什么知識點?怎么用所學(xué)的知識點?)
另外,如果一道題理解不深,覺得需要鞏固,可以看看題解,題解很多時候會給出相似題。你可以通過相似題,來快速整理思維,提高完成效率。
敲重點,力扣經(jīng)常原題出現(xiàn)在各類機考中!
還有一點就是,leetcode的數(shù)據(jù)不那么強(意思就是不會出范圍特別大、惡心的數(shù)據(jù)),他出的各種數(shù)據(jù)大部分用于檢驗?zāi)愕乃惴ㄊ欠窨紤]完備、運行是否正確(也就是說,比如一道題目,他為了檢驗?zāi)闶欠裼凶雠R界條件的判斷,會出個小范圍的數(shù)據(jù),不會出很大的數(shù)據(jù)來測試。這樣的好處非常明顯,當你做錯的時候,他會?給出錯誤用例,你可以手算小用例來看看自己的算法的錯誤,如果他給你了一個大用例,你就沒辦法手算,也就沒辦法找到自己的思維漏洞,這在初期學(xué)習(xí)非常重要)
Q:為什么是力扣??不是洛谷之類的?
A:題解多,社區(qū)氛圍好。你剛學(xué)算法,第一沒思路,第二容易有錯誤的思路。力扣的評論區(qū)和題解區(qū)提供了解法,且都有詳細的解析。很多的錯誤思路都能在評論區(qū)找到身影。各種花里胡哨的解法非常容易打開你的思路,這在考場上是非常有幫助的,考場上就是要快準狠。
Q:要不要開會員?
A:自己決定。我寫題一般直接在上面寫,開了會員會有代碼提示,運行更快。當然,隨著你的熟練,你會發(fā)現(xiàn)代碼提示已經(jīng)跟不上你的速度了。
哦對了,一般情況下力扣題解不看leetcode官方寫的題解,因為他寫的很數(shù)學(xué),看起來費勁。你可以在題解區(qū)找到各路大神準備的各種易懂的題解。
四、? 手冊
https://oi-wiki.org/
手冊的作用時,快速找遺忘的點和考前快速回顧。所以前提是你得已經(jīng)學(xué)完了。
在上面的菜單切換內(nèi)容。
我的大部分考試資料準備都來自于這個網(wǎng)站

五、? 考前準備
晚點再說吧,預(yù)推免還遠著。
大體思路是:熟悉機考特點和要求(學(xué)校對機考環(huán)境等要求)-》打印資料(如果允許的話)-》回顧知識點(手冊)-》練手(熟悉輸入輸出,因為力扣不需要輸入輸出)-》上戰(zhàn)場
如果你要帶資料的話,請不要帶自己看不懂不熟悉、沒辦法根據(jù)知識點快速翻到對應(yīng)頁的資料,

資料整理順序:輸入輸出-》STL、語法-》代碼模板-》常見算法
建議充分熟悉資料,提高翻找效率
https://docs.qq.com/scenario/recieve-template.html?packId=M20SjmQ94qqHi1WnMqjDv19gFdItgjrAUkTftj6UGhc8NjtAsKgc8BiisEiuRloi

六、? 結(jié)尾
只是自己的路線,有困惑可以找我。如果你在機考上吃虧了或預(yù)感要吃虧了,首先要做的事情是了解清楚你面對的是什么樣的機考。你不確定的話,你可以找目標院校的經(jīng)驗貼或者往年題目,發(fā)過來我?guī)湍憧纯词裁捶ㄗ幼钊菀诇蕚浜脤?yīng)的機考。祝各位順利,加油!
有問題可以私信我
20230727補充
關(guān)于leetcode
力扣題目很多,怎么快速精確的判斷題目難度?
谷歌插件:https://chrome.google.com/webstore/detail/refined-leetcode/kmpinnjkedaidpojenkiooddkeplniel
Edge插件:
https://microsoftedge.microsoft.com/addons/detail/refined-leetcode/igmccckalbaoifpohffkgfdagpgdangl
Github倉庫:
https://github.com/XYShaoKang/refined-leetcode
效果和用法:
安裝后,力扣題目頁面會顯示題目難度分數(shù):
僅有部分題目有對應(yīng)的分數(shù)顯示。分數(shù)相近的題,難度相近。你可以通過你自己做出來的題目和對應(yīng)的分數(shù),來得知自己目前的水平。提高訓(xùn)練的時候,就找分數(shù)在你水平之上,但不會超出太多的題目。?平時也不要做太多分數(shù)比自己低太多的題目。(做過cf的應(yīng)該非常熟悉這一點了)
舉個例子:你自己做出了幾道題目,分數(shù)大概范圍在1500左右,那平時就多做1500以上的題目,提高的時候,多做1700以上的題目,少做1300以下的題目。等你差不多覺得1700左右的題目都能自己完成了,就把自己的分數(shù)線提高到1700
目的主要是對題目進行進一步細分,避免題目太難導(dǎo)致自己花費時間太長,讓自己逐步提升,不要做太多簡單題麻痹自己。

插件提供了題庫頁面按分數(shù)范圍篩選題目的功能,自行探索。
關(guān)于力扣周賽(競賽)
建議參與,每周花2個小時來模擬考試。
題目大概范圍是樹、圖、DP、DFS、BFS(不難,不是ACM難度,個人感覺和pku機考差不多)
競賽的時候,力扣會屏蔽測試用例。通過這種限時訓(xùn)練,來還原考試。訓(xùn)練讀題、選題、考場做題策略。

20230805補充
改了幾處內(nèi)容,關(guān)于問的比較多的考場debug,到時候會發(fā)個騰訊會議錄屏鏈接來講講,沒有你想象中的那么難,主要是機考特別容易緊張