本週學習總結

2021-10-05 11:23:06 字數 1578 閱讀 6588

本週揹包問題已經結束,開始了二分的學習。通過學習和在網上學習發現一下對於二分法的總結很容易接受。

二分法查詢,也稱為折半法,是一種在有序陣列中查詢特定元素的搜尋演算法。

二分法查詢的思路如下:(當然是有序的)

(1)首先,從陣列的中間元素開始搜尋,如果該元素正好是目標元素,則搜尋過程結束,否則執行下一步。

(2)如果目標元素大於/小於中間元素,則在陣列大於/小於中間元素的那一半區域查詢,然後重複步驟(1)的操作。

(3)如果某一步陣列為空,則表示找不到目標元素。

(此塊總結為博主nenliu總結)

本週感觸最多的是關於codeforce的幾次練習。有關練習得出了一下問題和需要反覆強調的小知識點。

1一定要有比較靈活的想法,優化很重要,最重要的一點是需要多用並且多回憶學過的東西

例子求2 的n次方使用右移1<<2^k.雖然這個方法學過,但是還是想不起來用。這個知識點很重要,這是一的、個常用的優化方法。比如if(n&1)就是判斷奇偶的一種方法。現在需要習慣性的改變一些基本的輸入習慣。就好比習慣性的寫上cin>tie(0);

ios::syns-with-stdio(0);

有時就可以解決ac的問題。

另外由於以前的懶惰,本週比較細緻的複習了優先佇列

標頭檔案#include ,

和佇列基本操作相同:

top 訪問隊頭元素

empty 佇列是否為空

size 返回佇列內元素個數

push 插入元素到隊尾 (並排序)

emplace 原地構造乙個元素並插入佇列

pop 彈出隊頭元素

swap 交換內容

定義:priority_queue

type 就是資料型別,container 就是容器型別(container必須是用陣列實現的容器,比如vector,deque等等,但不能用 list。stl裡面預設用的是vector),functional 就是比較的方式,當需要用自定義的資料型別時才需要傳入這三個引數,使用基本資料型別時,只需要傳入資料型別,預設是大頂堆

//公升序佇列

priority_queue q;

//降序佇列

priority_queue q;也就是說我們平常就用這個不需要這麼複雜,只需priority_queue a;

//等同於 priority_queuea;

如果像第乙個為小數就要寫全面寫第乙個

另外收穫深得地方就是對他進行自定義。

通過網上學習,一下**有呂白博主所寫,也是乙個易懂的**如下

#include

#include

using namespace std;

//方法1

struct tmp1 //運算子過載<

bool operator<(const tmp1& a) const

};//方法2

struct tmp2 //重寫仿函式

};

priority_queue, tmp2> f;

f.push(c);

f.push(b);

f.push(a);

while (!f.empty())

本週學習情況總結

盒模型 定位 都複習了一遍,基礎牢固摩天大樓才能屹立不倒.text css div.fourcolors style 這裡原本有一張圖的,可是它消失了 以下是position的四種屬性 元素框正常生成。塊級元素生成乙個矩形框,作為文件流的一部分,行內元素則會建立乙個或多個行框,置於其父元素中。一般元...

本週學習總結 原生

在特定的環境語言環境下的表示字串 let numbers 3500 number.tolocalestring 3,500 console.log numbers.tolocalestring en us 3,500const rgbtohex r,g,b r 16 g 8 b tostring 1...

本週總結(09 11 13)

計畫總是趕不上變化的,本來還想著能夠在中旬之前結束寫文件,但是現在看看還得再用一段時間。前幾天不經意之間想了一下,把自己嚇了一跳。這個學期馬上就要結束了!時間要轉進吶,質量也不能放下,畢竟也算是第一次正兒八經的做工程 以前的那個算是玩耍吧 這週也沒白過,腦袋始終是出於迴圈狀態。不斷的思考著這個系統中...