易保研機試訓練營 基礎營 特殊演算法

2021-10-07 02:00:10 字數 1430 閱讀 7446

1.時間複雜度

2.空間複雜度

3.資料溢位(long long有時可以解決)

**前部用陣列等資料結構暫存中間過程某值的一組答案,在**後部直接從這組答案中查詢,不需要再計算,節省時間。

用兩個一維陣列模擬二維陣列中相鄰的兩行,向下滾動,節省空間複雜度。

1.從1到sqrt(x)檢視x是否為素數,演算法時間複雜度為o(log(x))【可能有錯誤】。

2.區間內素數查詢:素數篩/線性篩【學了已忘】。

適用場景:求x的x次方的個位且x很大,比如1000000000^1000000000。

基本思路:用取餘概念

最佳思路:套用快速冪模板

typedef

long

long ll;

//計算x^y的最後mod位

ll quickmod

(ll x, ll y, ll mod)

return res;

}

什麼意思呢???再說

ios::

sync_with_stdio

(false);

//關閉cin/cout同步流,關閉後cin速度可媲美scanf

#include

8.1 sort

自定義cmp()函式的返回值要是bool,核心之處也是比較,因為sort預設是從小到大,所以在cmp如果還是要從小到大,那就a < b,返回值bool為true,不改變;而如果想要從大到小排,那麼就要return a > b,因為預設a小於b,所以此時返回的bool就是false,要改變排序。

適用場景:資料量已知、每個資料的大小所在區間已知、資料有重複

時間複雜度:o(n)

空間複雜度:o(m)

#include

using

namespace std;

const

int maxn =

10010

;int n, t;

int vis[maxn]

;//桶

intmain()

bool flag =

true

;for

(int i =

0; i < maxn;

++i)

else

print

(" %d"

, i);}

return0;

}

易保研機試訓練營 基礎營 常見演算法

1.1string類的substring 方法用於擷取字串 string substring int beginindex 用途 返回乙個新字串,它是此字串的乙個子字串。該子字串始於指定索引處的字元,一直到此字串末尾 引數 beginindex 開始處的索引 包括 返回 指定的子字串 public ...

牛客寒假演算法基礎演算法訓練營2

1 座與重修費 題目描述 期末考試結束了,座發現很多人掛了大物,只能等著第二年重修,還要交400元的重修費。座突然想起有個學長和他講過,如果學校哪一年缺錢了,那一年的大物試卷就會特別難。現在 座有了所有人的成績,座想知道如果所有掛科的人都在第二年重修,學校能賺多少重修費?掛科是指一門課的分數小於60...

牛客寒假演算法基礎訓練營6

早知道這次題目這麼簡單就認真做了,最後一場沒心做,後面懶得想了,唉罪過罪過 1 煤氣灶 題目描述 小j開始打工,準備賺錢買煤氣灶。第一天,小j的工資為n元,之後每天他的工資都比前一天多d元。已知煤氣灶需要m元,求小j最少工作幾天才能買到煤氣灶。輸入描述 四個整數 n,m,d,x 分別表示小j第一天的...