大一暑訓
一、語言基礎
a) 基本輸入輸出方式(acm
課件01
)
b) 條件判斷(nyoj 60
)
c) 迴圈體(nyoj 463
)
d) 初步了解結構體
e) *指標(很少會用到,不過一定要掌握)
f) *檔案操作
二、數學
a) 基礎數學題(nyoj 11、34
、39、57
、64、75
、97)
b) 素數
i. 素數判斷(nyoj 22、24
)
ii. 篩選法求素數(nyoj 26
、187
)
c) 歐幾里得演算法求最大公約數(nyoj 40、66
、111
)
d) 排列組合(hyoj 459
)
e) 進製轉換(nyoj 100
、244
、275
)
f) 斐波那契數列(nyoj 13、76
、252
)
g) 階乘(nyoj 56、65
、84)
h) 同餘定理&
模運算(
nyoj 102
)
三、簡單排序(nyoj 255
、124
)
a) 冒泡法排序
b) 插入法排序
c) sort()與
qsort()
函式的用法
d) *歸併排序(重點了解分治思想)
四、資料型別(了解下列各種資料型別的範圍以及它們在c
語言中的輸入輸出方式)
a) int
b) unsigned
c) float
d) double
e) long
f) int64、
long long
五、陣列操作
a) 一維陣列(nyoj 50、77
)
b) 二維陣列(nyoj 29、33
)
六、字串
a) 字串基礎知識(形式理論、儲存形式))
c) 常見題目(nyoj 62
、113
、241
、257
、264
、273
)
d) 用字串處理數學問題(nyoj 28、73
、103
)
七、計算幾何
a) 常見幾何圖形求面積(nyoj 67
、)
b) 幾何資料處理(nyoj 6
、199
)
c) 座標計算(nyoj 68
、101
)
八、基本的時間複雜度、空間複雜度計算
九、遞迴的應用(用遞迴的方法求階乘及斐波那契數列)
大二寒訓
一、資料結構
a) 線性表
i. 鍊錶
ii. 棧
1. 括號匹配問題(nyoj 2
)
2. 表示式求職問題(nyoj 35
)
iii. 佇列
b) 樹
i. 樹的定義、基本概念及相關操作
ii. 二叉樹、滿二叉樹、完全二叉樹
iii. 哈夫曼樹
c) 圖
i. 圖的儲存方式
1. 鄰接表表示圖
2. 鄰接矩陣表示圖
ii. 圖遍歷
1. 深度優先搜尋dfs
(nyoj 20
)
2. 廣度優先搜尋bfs
(nyoj 58
)
iii. 圖的連通性(nyoj 42
)
d) 查詢
i. 順序查詢
ii. 二分查詢
iii. 雜湊表
e) 排序
i. 快速排序
ii. 堆排序
iii. 選擇排序
iv. 希爾排序
一、高階演算法設計(重點,另外給出例子均為經典例題,其他還有很多擴充套件需自己多加練習)
a) 貪心演算法
i. 活動選擇(nyoj 14
)
ii. 過河問題(nyoj 47
)
iii. 揹包問題(nyoj 106
)
b) 動態規劃
i. 最短路徑(nyoj 18
)
ii. 最長不上公升/
下降序列問題(
nyoj 17、79
)
iii. 最長公共子串行(nyoj 36
)
iv. 完全揹包問題(nyoj 860
)
v. 01揹包問題(
nyoj 311
)
acm小貼士:
① 刷題非常重要
② 但刷題量不代表實力
③ 攀比進度沒有任何意義
④ 提交沒有完全掌握的ac
**,對於你來說和
wa無異
⑤ 往往想要ac
一道題,程式設計技巧僅僅只佔
20%的比重,而剩下的
80%,則被讀題和演算法思想各占去一半
⑥ acm不是乙個人的事情,合作和交流往往能起到事半功倍的效果
⑦ 在**別人**或者請教別人之前,請務必保證你有仔細思考過題目並自己動手嘗試過。失去了鑽研精神的acmer
沒有任何價值
⑧ acm或者說程式設計是一門藝術,認真對待你寫出的每一段**,好的**能給人一種賞心悅目的感覺
⑨ printf是最好的查詢錯誤的工具
盲打練習 ACM
在電影 社交網路 中有乙個場景多次出現,就是男主人公扎克伯格坐在他的電腦面前,瘋狂的敲打著鍵盤。電影裡演得非常酷,如果學好了盲打,你也會這樣 當然,前提是你要花上相當長的一段時間練習盲打 對於乙個程式設計師來說,我覺得練好手速很重要,試想一下 乙個打字很慢的人和乙個打字很快的人同時解一道題目,假設他...
ACM遞迴遞推練習
acm遞迴遞推練習 二分法查詢找到中間的數值,如果key目標數值大於中間值,則返回mid 1與n區間。如果小於,則返回mid 1與起始位置區間,由於輸出次數較多,用cout容易超時,用printf則可省時。include int a 3000001 int search int a,int l,in...
ACM練習 括號配對問題
學到了 1.動態建立字串陣列的2種方法 string str new string n 使用完後需要delete str vectorstr n 使用完後不需要釋放空間,但是需要包含標頭檔案vector.h 2.標頭檔案不可使用iostram.h或者string.h,應去掉.h在後面加上using ...