假期Noip筆記

2022-05-20 09:39:42 字數 2943 閱讀 2125

①選擇排序 \(o(n^2)\)

②氣泡排序 \(o(n^2)\)

③快速排序 sort \(o(nlog n)\)

④歸併排序 \(o(nlog n)\)

⑤桶排序(基數排序)

\(x=aeb+c=a\times 10^b+c\)

a \((a\pm b)\% p=(a\%p \pm b\%p)\%p\)

b \((a\times b)\% p=(a\%p \times b\%p)\%p\)

當 \(a-b<0\),那就使\(((a-b)\%p+p)\%p\)

其中 \(-p-1 \leq (a-b)\%p<0\)

推廣:對斐波那契數列的第\(n\)項取模等於\(k\)的數,有\(f(n)\%1000=(f(n-1)\%1000+f(n-2)\% 1000)\%1000\):

於是,記錄\(f'(n-1)=(f(n-1)\%1000\)和\(f'(n-2)=(f(n-2)\%1000\) ,則:\(f(n)\%1000=(f'(n-1)+f'(n-2))\%1000\)

對第\(f(i)\)項,與\(f(i-j_)\)和\(f(i-j_)\)有關(已知\(j_,j_\))使用遞推

斐波那契數列通項公式

\(f(n)=\dfrac}\left [ (\dfrac})^n-(\dfrac})^n\right ]\)

質數19260827

27631

樓梯有\(n\)階台階,周曠達上樓時可以一步上1階,也可以一步上2階,也可以一步上3階,程式設計計算周曠達共有多少種不同的走法。(對一質數27631取模)

\(f(n)=f(n-1)+f(n-2)+f(n-3)\)

刪去加粗部分,公式變為 \(f(n)=f(n-1)+f(n-2))\):

見斐波那契數列

liuziwen-斐波那契數列

#include
在乙個從小到大排好的有序序列中找到第乙個大於x的數的位置

upper_bound(起點,終點,x)

起點終點和sort相同(a+1,a+n+1)

在乙個從小到大排好的有序序列中找到第乙個大於等於x的數的位置

lower_bound(起點,終點,x)

小於?upper_bound(起點,終點,x,cmp)

pow(a,b)推出 \(a^b,1.5^\)

求 \(a^b\%p\)(a,b,p都在int裡)

\(a^b=(a^})^2 \times a(b\%2!=0)\)(7/3=2)

給你1-n 輸出所有的排列方式(有\(n!\)種排列)

對於乙個陣列a,讀入n組l,r.對於每一組詢問,輸出 \(\sum\limits_^a_=a_+a_+...+a_\)

資料範圍:記陣列大小為\(w\)

\(n \leq 10^6,w\leq 10^6\)

字首和第一行,乙個n

接下來一行,n個a

接下來一行,乙個m

接下來m行,格式如:

1 p x (表示第p位數改為x)

2 l r (求\(\sum\limits_^a_\))

線段樹 ,二叉樹(完全二叉樹)葉子

樹狀陣列

對於乙個數x,二進位制最低位「1」的位權叫做lowbit

int lowbit(int x)
約瑟夫問題 p1996lg:

n個人圍成乙個圈,從第乙個人開始報數,報到m時這個人出列,下乙個人從1重新開始報數,按照上述規則直到所有人出列。依次輸出出列的人的編號。

中綴表示式 3*(5+2)

字首表示式* 3 + 5 2

字尾表示式 3 5 2 + *

fifo

#include stackstk;

stk.push(x)

x=stk.top()

stk.pop//棧頂部元素出去

stk.size

stk.empty

#include queue a;

q.push(x)

q.front

q.pop

q.size

q.empty

#include vectora;

v.push_back

v[i] 第i位元素

v.size

v.empty

v.clear//清空

v.erase(i)//第i位元素擦除

i=v.begin+x

v.insert(i,x)

#include mapmp;

mp[5]=3;

mp[220]=2;

mpstring s=name;

int x=15;

mp[s]=x;

//pair

struct hhh

pair(1,2)---first=1,second=2

x=pair(1,2)

x.first

printf("%d%c",tm[i]," \n"[i==n])

priority_queue

priority_queuepqt; // 大根堆

priority_queue,greater> q; //小根堆

關於樹狀陣列

p3368 【模板】樹狀陣列2

某乙個區間每個數都加上x

求某乙個x的值

p3374 【模板】樹狀陣列1

某乙個數加上x

求某段區間數的和

p3372 【模板】線段樹1

某區間每個數加上x

求某段區間數的和

p3373【模板】線段樹2

某區間每乙個數乘上x

某區間每乙個數加上x

求出某區間所有數的和

假期閱讀筆記04

架構之美 第六章介紹了facebook的資料以及它如何與 facebook 平台的建立一起發展,facebook 具有很大的資料,包括使用者提交的個人關係對映表 傳記資訊 以及文字或其他 內容。facebook 的工程師在構建站點其餘部分的架構時,關注的是顯示和操作這些社會關係資料。這個站點的大多數...

假期閱讀筆記05

3層架構的定義 3層架構分別為 表示層 web 業務邏輯層 bll 資料訪問層 dal 資料訪問層 dal 採用抽象工廠模式搭建資料訪問介面,並由各種資料庫型別對應的包來實現對各種資料庫的訪問。業務邏輯層 bll 包含了 實體資料 model 包 以及 業務邏輯 bll 包 分別提供 實體 和 cr...

假期閱讀筆記03

第五章主要介紹了面向資源的架構設計,對於web開發我們是比較熟悉的,在我們大二第二個學期的時候我們學習了 web開發的一些基礎知識,在上個學期我們每個人都獨立的的完成了乙個 web專案,企業中聚焦資訊的架構與 web具有一樣的明確特點 伸縮性 彈性 架構遷移策略 資訊驅動的訪問控制等。這個過程中,業...