2021雷霆算法訓練營萌新不完全指北


前言

首先,歡迎各位來到川信雷霆算法訓練營。無論你是純純的代碼小白,還是已經入門的有基礎者,相信在這里努力訓練后都可以得到提升!
首先為你們簡單介紹一下我們訓練營的主要訓練內容與方向。

我們在做什么?

我們的主要訓練目的是為了參加各大算法競賽

算法競賽,指的是以算法(和數據結構)為核心主題的編程競賽。算法競賽一般要求在規定時間內做若干道題目,並以編程的方式解決問題,可以使用 C/C++/Pascal/Java 等語言(視比賽要求而定)
通俗一點的話來講:用代碼來解決各種問題(數學、思維、甚至是腦筋急轉彎)

我們為什么要做這個事情?

1.鍛煉思維
在解決問題的過程中,你的思維、邏輯能力會得到極大的鍛煉,在學習算法,攻克難題的過程中對整個人的思維和能力擴展是不可估量的
2.算法是“程序員”和“碼農”的第一道分水嶺
鍛煉你的算法能力能最大程度的提高你解決問題的速度,思維。有過算法競賽經驗的科班生比外面培訓出來的普通程序員的差別肉眼可見!
3.各種豐富的比賽
在川內、川外都有各類算法比賽:藍橋、天梯、ACM、各大網賽、線下賽等等......
計算機科班,算法類的競賽絕對是重頭戲,在學校可以獲得各種資源來幫助我們提高自我,獲得充實的大學生活!
4.獎勵
同學,競賽是有獎金的......
除了獎金外,競賽獲獎后的各種證書可以幫助你爭取獎學金、專升本加分、甚至為你以后的工作升職加薪等
在訓練營變現出眾的同學,還可以后續繼續參與各種類型比賽、實際項目等,保證畢業后各種證書,獎勵拿到手軟。
其次,參與競賽的好處還包括但不限於:
1)簡歷:如果你的簡歷上有各項XCPC的金牌銀牌,給你增添亮點答案是不言而喻的。
2)筆試:技術筆試大都必考編程題,有的企業筆試甚至只考編程題,這個環節對於競賽選手簡直不要太香,大家可能只會感嘆“哇~又AC了”,所以如果你的算法能力夠競賽標准,招聘筆試對你來說是相對容易的。(論打競賽對就業的好處)
3)工作中解決問題的能力:在面對各種工作中的問題時,算法往往能讓你的代碼效率更高,解決方案更好,代碼質量更佳。
5.結識志同道合的同伴
任何時候,都要和優秀的人結伴同行。而訓練營,就提供了這樣一個平台,讓你結識同伴,一起學習,一起做項目......

千里之行,始於足下

本篇指南的作用是讓大家了解訓練營,並開始進行系統學習,提供規划路線和升級材料(各種學習資料)。
從下面開始,是指南的主題內容。

21新生/零基礎者

世界上所有的程序員,都是從第一行Hello,World!開始的
本篇教程與規划是針對新生和零基礎人員的,如果不是,可以直接跳過。

我們要進行學習的語言是:C++(C PlusPlus)
它是算法類比賽最常用最正統的語言,也是我們訓練營的算法主推語言。
大一新生信息系入學統一學習的是C語言,但是在算法競賽中,C語言非常難用,且C++完全兼容C語言,所以我們可以直接從C++的語法開始學習。
從零開始,首先安裝你的編譯器。我們選擇devcpp
下載鏈接: 點我點我!
完成后會得到一個壓縮包,直接點擊壓縮包內的

.exe文件進行安裝即可

一路next到

這里,建議將大家在C盤以外的地方建一個文件夾,將它安裝到新建的文件夾內。當然直接點install也是可以滴~

安裝完成后即可運行,同時桌面上也會出現快捷方式。
我們點開它(貌似這個版本已經做好漢化了)
全貌
點擊左上角的文件-> 新建 -> 源代碼 或者 快捷鍵ctrl + n 新建一個空文件

就可以在工作區寫代碼了~讓我們寫下第一段代碼。
(建議大家照着手敲一次,不要直接復制粘貼,同時注意代碼內所有的字母,符號全部是英文半角狀態!)

#include<iostream>
using namespace std;

int main(){
	cout << "Hello,World!" << endl;
	cout << "歡迎大家來到雷霆訓練營!"; 
	return 0;
}

然后我們點擊上方的運行 -> 編譯運行 或快捷鍵f11
同時將這個文件保存為xxx.cpp文件(后綴名是.c就是C語言文件,.cpp就是C++文件,我們這里是用的C++的語法,自然采用.cpp后綴!)

然后程序就會正常執行,彈出這個黑框框。

彈出這個框框並正確輸出了內容,說明你本地的環境沒問題了,可以直接開始進行學習咯~
Hello,World!
這里向大家推薦一個B站的C++語法入門視頻
B站視頻鏈接,直接從P3開始看!
暫時先看到第55P就可以了~在這個過程中有任何不懂的地方都可以在群里問管理員。
同時在學習的過程中,會給大家一定的任務來進行考核。預計2周完成這部分的入門

  1. 第一周任務:學習的過程中記筆記,在這個周你需要學習到第30p(選擇結構結束)
    你需要用你所學的知識達到這樣一個效果:
輸入一個學生的成績,如果他的成績小於60分,則輸出"沒及格,需要努力"並換行輸出當前成績還差多少分到60;
如果他的成績大於60,小於90,則輸出"不錯,還可以繼續努力!"並換行輸出當前成績;
如果他的成績大於90,小於等於100,則直接輸出"你真的很不錯!"即可
請盡量多的考慮到各種狀況,比如數據不合法等,確保你的小程序在面對任何情況都不會出錯!

2.第二周任務:實現一個計算器功能,你需要達到這樣的效果

除非用戶主動退出,否則計算器一直運行
支持加減乘除四種運算。
雖然可以輸入2 -> 回車 -> 輸入+號 -> 回車 -> 輸入2 -> 回車 -> 得到結果4,
但是我希望你盡可能地讓這個計算器貼合現實生活中的計算器
比如輸入 2+2,按下回車后直接得出結果為4。
請盡可能考慮程序可能會出BUG的地方,確保你的小程序在面對任何情況都不會出錯
特殊情況要做處理:比如除數為0的情況下應該怎么做?

學到這里並完成任務,基本上就算入門咯~
加油!

20級/有基礎者

相信各位的代碼環境以及配好且至少有了C語言的基礎。
那么大家的任務是直接開始在杭電OJ上進行刷題
請在HDOJ上進行注冊並開始做題。整個流程在Word文件的附錄內
同樣也希望大家進行CPP的學習,相信各位在有了C/java等語言的基礎上,再轉C++會相當快,所以我推薦這個視頻
c語言基礎快速上手c++
我們學習C++主要是為了使用c++自帶的STL庫,同時需要對數據結構進行系統的學習。在這里推薦一本書:
《大話數據結構》,這本書可以網上買(拼多多10來塊吧)也可以找群里管理要電子版,在川信的雷霆工作室也有實體書,可以登記借閱。
同時配合視頻熟悉數據結構與算法(網上一抓一大把,推薦慕課的浙江大學數據結構與算法課程,自行百度),在之后訓練營還會請畢業生和部分19,20級的人來給大家講解一些算法和數據結構。
大家可以直接入門后使用C++來寫算法題,就杭電OJ的第11頁的100道題。
有不懂或者不熟悉的可以百度,問群里的管理都可以。
你們的任務是:
1.第一周任務:完成杭電OJ的注冊,大致了解下學習線路圖並開始刷題

(不要被這個學習路線嚇到,這只是個參考)

你要了解有哪些常用數據結構,入門C++(不用學類與對象,只需要會語法,知道STL庫有哪些,怎么用即可,這是個需要用實踐來堆的過程,大家慢慢來)。
同時開始進行數據結構的學習!
本周需要你使用C++在杭電OJ的第11頁完成前8道題,要求不可以抄襲、直接COPY代碼!這些題是完全用不到數據結構的很基本的語法題,大家安心做,不會就問~

2.第二周任務:

數據結構至少要學到基本鏈表、棧、隊列等
會使用C++的 Stack,queue ,vector,Map這四個常用的STL庫。同時完成杭電OJ前20道題,最好學以致用,想想這道題能不能用STL?能不能用C++的語法來比較方便的解決?

你們的考核會讓負責人主動與你們溝通,同時查看你們的做題情況~
如果覺得這些都 so easy! 那么你可以各大OJ上(包括杭電OJ第11頁的后80道題)進行刷題啦!詳情可以咨詢群內的管理員們,他們都是過來人。

寫在最后

首先,再次歡迎各位來到雷霆算法訓練營。我們川信在四川的專科院校中,應該算是算法第一的學校了,這是近兩年來指導老師和以往的參賽選手們的努力和付出才拿下的成績。
但是我們不甘於只做四川專科的第一,其實嚴格說來,在全國范圍內,四川屬於算法競賽的弱省(整個西南地區都算弱),往上比四川本科高校,我們仍然差距很大,與同級的院校相比,暫時也還比不過浙江那邊的幾所專科院校,甚至往下了比,各種高中生、初中生把我們吊着打(因為算法類競賽就是這些OI爺最頂,人就是從小專門訓練這個來獲取保送名校資格的)。我們不服輸,不認輸,所以創建算法訓練營...別人能做到的,我們憑什么做不到?
道阻且長,衷心的希望我們所有人都能懷揣着一顆永不言敗的赤子之心,奮發圖強,一飛沖天。
夢在遠方,路在腳下。
不鳴則已,一鳴驚人。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM