SCAU 2023年計算智慧型考試複習指南

2021-10-06 10:55:18 字數 4261 閱讀 6713

一、處理多case的程式設計

18104 練習使用多case解題

while(1) break;

while(scanf("%lld%lld",&c,&d)>1)

scanf有返回值,scanf(「%d %d」,&a,&d)的返回值是2

二、測試的重要性及資料的檔案匯入方式

了解oj的評判的詳細過程,了解各類評判結果(尤其是編譯錯誤、超時、執行時錯誤)對應可能的出錯原因。

編譯錯誤:**格式錯誤、函式標頭檔案沒有新增進去(如cstring)、gcc cpp、書寫錯誤,有拼寫錯誤,常見的就是單詞的大小寫沒有區分開,英文句號寫成英文逗號、有格式錯誤,比如該縮排的沒縮排,漏了括號,又或者忘記加冒號、對於用法錯誤,比如函式的傳入的引數與函式要求的引數不符、基本語法錯誤

超時:死迴圈、**複雜度過高、輸入條件和題目的不符合

執行時候錯誤:輸出結果不對(輸出必要的換行或者大小寫錯誤、有特殊的資料沒有考慮.看看陣列開的是否太小)、格式錯誤。多了少了空格回車什麼的、發生除零錯誤、指標用錯了,導致訪問到不該訪問的記憶體區域。

三、程式的執行時間及複雜度估算

學會找基本操作(單位時間操作)

學會推導資料規模與時間的關係式

下面說一下各個複雜度1s可計算資料的規模:(用機房電腦跑出來的,僅供參考)

線性o(n) : 1s 大概 3e8 個資料 當然這只是執行一條語句; 多條語句 最好不要超過 1e8,感覺1e7都勉強了

o(nlogn)

10^5 ~ 5 * 10^5

o(n^2)

1000 ~ 5000

o(n^3)

200 ~ 500

o(2^n)

20 ~ 24

o(n!)

12四、了解pair、vector、string、stack/queue、map的作用和時間複雜度

五、熟練sort/stable_sort的使用,了解何為穩定的/非穩定的排序演算法

sort是快速排序o(nlogn)實現,因此是不穩定的;stable_sort是歸併排序實現,因此是穩定的o(n2);

對於相等的元素sort可能改變順序,stable_sort保證排序後相等的元素次序不變;

如果提供了比較函式,sort不要求比較函式的引數被限定為const,而stable_sort則要求引數被限定為const,否則編譯不能通過。

18118 勇者鬥惡龍

總結:就是將騎士和惡龍的值從小到大排序(sort),然後一條龍一條龍的殺,如果有一條龍無法被殺掉,則無解。

時間複雜度:o(nlogn+n)=o(logn)

18107 校賽排名

總結:題目就是要我們給選手排名,根據通過題數多的排前,同題數的,罰時少的排前。如果題數相同,罰時也相同,而按資料讀取的先後排。利用sort定義bool函式,來處理優先比較誰,這題就要定義乙個結構體,也就是說用sort函式對結構體進行排序。

時間複雜度:o(nlogn)

六、掌握列舉的技巧並會分析時間複雜度

完美立方

總結:直接暴力求解

時間複雜度:o(n3)或者o(nlognlognlogn)

生理週期

總結:讀入 p, e, i, d

從 d+1 迴圈到 21252, 找到第乙個滿足條件 1)的時間 a、並跳出迴圈

從 a 迴圈到 21252,找到第乙個滿足條件 2)的時間 b、並跳出迴圈

從 b 迴圈到 21252,找到第乙個滿足條件 3)的時間 x、並跳出迴圈

輸出 x-d

時間複雜度:o(1)

稱硬幣在稱量結果為"even』』 的天平兩邊,沒有出現 x ;

如果 w 表示假幣比真幣輕,則在稱量結果為"up』』 的天平右邊一定出現 x、在稱量結果為"down』』 的天平左邊一定出現 x

如果 w 表示假幣比真幣重,則在稱量結果為"up』』 的天平左邊一定出現 x、在稱量結果為"down』』 的天平右邊一定出現 x

在引數str所指向的字串中搜尋第一次出現字元c(乙個無符號字元)的位置。

18443 除法等式

總結:先列舉出c,注意c的每個數字要不一樣,判斷c%a是否為0,然後c/a(a是我們輸入的數字),求的b,再看b裡的數字和c中的是否一樣,這樣我們就能得到c/b=a。

時間複雜度:o(1+1)=o(1)

1079 三角形

先判斷如果是斜邊,則從3開始列舉。

如果是直角邊,則假設為最小的那條邊k,然後斜邊就是a,另外一條就是a-1,通過

aa-(a-1)(a-1)=kk,a=(kk+1)/2,從而確定最大邊的上界,下界比較容易算不解釋,a>sqrt(kk/2)。

時間複雜度:o(n2+n2-√n2/2)=o(n2)

七、掌握遞迴的技巧並會分析時間複雜度

爬樓梯樓梯有乙個台階,只有一種走法;

兩個台階,有2種走法;

有n個台階時,設有count(n)種走法,最後一步走1個台階,有count(n-1)種走法;最後一步走2個台階,有count(n-2)種走法。於是count(n)=count(n-1)+count(n-2)。

此問題類似斐波那契數列。

unsigned long int 無符號型長整形,資料全為正數,範圍較大。

1142 巡邏的士兵

判斷一共有多少種分法

o(logn)

18441 偷懶的士兵

和巡邏的士兵相似,如果如果少於三個人,則那一組一定不會被選走。

o(logn)

八、掌握分治的技巧並會分析時間複雜度

歸併排序

歸併排序的效率是比較高的,設數列長為n,將數列分開成小數列一共要logn步,每步都是乙個合併有序數列的過程,時間複雜度可以記為o(n),故一共為o(nlogn)。因為歸併排序每次都是在相鄰的資料中進行操作,所以歸併排序在o(nlogn)的幾種排序方法(快速排序,歸併排序,希爾排序,堆排序)也是效率比較高的。

逆序數快速排序

九、掌握深搜和廣搜的技巧並會分析時間複雜度

抓住那頭牛

就是訪問每乙個點

o(n)

迷宮問題

廣度搜尋o(n)

城堡問題

18440 走迷宮2

採用廣度搜尋(queue),先要判斷是否為為傳輸門,並且有乙個visit陣列來判斷該點是否有被走過,如果沒有走過,則把這個點放到佇列中去。

時間複雜度:由於每個節點僅被發現一次,因此每個節點入棧和出棧各一次,時間均為o(1),故入棧和出棧總時間為o(v);由於需要對每個節點的鄰接表進行掃瞄,時間為o(adj[u]),總時間為o(e);綜上所示,廣度優先搜尋的時間複雜度為o(v+e).即是圖鄰接表大小的線性函式。

18124 n皇后問題

時間複雜度:n皇后問題如果不進行任何剪枝,以最樸素的觀點來看,其時間複雜度就是 [n的n次方] 。因為 n 行n 列,皇后的排列方式共有 [n的n次方] 種。

大概會將最壞時間複雜度優化至 [n!] ,平均時間複雜度應該也是指數的,因為中間如果遇到不符合的時候,就直接break了,就不會進行接下來了運算,降低了演算法的複雜度。

十、掌握動態規劃的技巧並會分析時間複雜度

數字三角形

遞迴 (重複計算,效率低) o(2^n)

把當前位置(i,j)看成乙個狀態 d[i][j]為從格仔出發能得到的最大和 解為d[1][1]

d(i,j)=a(i,j) +max

遞推 (逆序列舉) o(n^2)

i是逆序列舉的,計算d[i][j]前 所需要的d[i+1][j]

和d[i+1][j+1]一定計算出來了

最長上公升子串行

0-1揹包問題

著一類的問題用遞推的話都是建立乙個二維陣列遞推,然後時間複雜度就是o(n^2)

一、掌握貪心的技巧並會簡單證明貪心的合理性

聖誕老人的禮物

電影節9506 吃水果

(1)讀取資料,設定乙個陣列k,下標為第i天,記錄每一天要吃的水平重量

(2)水果按重量由大到小排

(3)由大到小,遍歷每乙個水果,該水果到第w天過期,就從下標w開始倒序查詢陣列k,發現第乙個

陣列k的元素為0,則將該水果的重量賦值到該陣列元素,如果沒有找到為0的,則放棄該水果。

(4)最後將k資料中的數累加起來,就是答案。

時間複雜度:o(nlogn+n2)=o(n2)

2023年計算機一級考試WPSOffice應用教材

2013年計算機一級考試教材已經上市了,詳情如下 書名 全國計算機等級考試一級教程 計算機基礎及wps office應用 2013年版 作者 教育部考試中心 isbn 9787040372366 版別 高等教育出版社 出版日期 2013 5 定價 36元 詳情查 第1章 計算機基礎知識 1.1 計算...

2023年計算機一級考試WPSOffice考試大綱

全國計算機等級考試一級 wpsoffice考試大綱 2013年版 基本要求 1.具有微型計算機的基礎知識 包括計算機病毒的防治常識 2.了解微型計算機系統的組成和各部分的功能。3.了解作業系統的基本功能和作用,掌握windows的基本操作和應用。4.了解文書處理的基本知識,熟練掌握文書處理wps文字...

2023年計算機等級考試一級考試B大綱

基本要求 1.具有計算機的基礎知識。2.了解微型計算機系統的基本組成。3.了解作業系統的基本功能,掌握windows的使用方法。4.了解字表處理的基本知識,掌握windows環境下word和excel 或wps 的基本操作,熟練掌握一種漢字輸入方法。5.了解計算機網路的基本概念和掌握網際網路 int...