原创 差分與前綴和模板

一維前綴和 —— 模板題 AcWing 795. 前綴和 S[i] = a[1] + a[2] + ... a[i] for (int i=1;i<=n;i++)   S[i]=S[i-1]+a[i]; 則a[l] + ...

原创 C++ STL vector詳解

一.解釋:    vector(向量):是一種順序容器,事實上和數組差不多,但它比數組更優越。一般來說數組不能動態拓展,因此在程序運行的時候不是浪費內存,就是造成越界。而vector正好彌補了這個缺陷,它的特徵是相當於可分配拓展的數組,它

原创 潛伏者 NOIP2009

題目描述 (https://www.luogu.org/problem/P1071) R國和S國正陷入戰火之中,雙方都互派間諜,潛入對方內部,伺機行動。歷盡艱險後,潛伏於SS國的RR 國間諜小CC終於摸清了 S 國軍用密碼的編碼規則: 1

原创 一維數組模擬單鏈表、鄰接表和雙鏈表--模板

單鏈表 —— 模板題 AcWing 826. 單鏈表 單鏈表----鄰接表(用來在存儲圖和樹) // head存儲鏈表頭 //e[]存儲節點的值 //ne[]存儲節點的next指針 //idx表示當前用到了哪個節點 int head,

原创 Hankson 的趣味題(最大公約數和最小公倍數)

原題鏈接:https://www.luogu.org/problem/P1072 Hanks 博士是 BT(Bio-Tech,生物技術) 領域的知名專家,他的兒子名叫 Hankson。現在,剛剛放學回家的 Hankson 正在思考一個有趣

原创 dfs 樹的各種搜索

一、查找樹根 樹根的入度爲0。輸入數據時記錄即可。 一本通: 1336:【例3-1】找樹根和孩子   二、DFS序 void dfs(int x){        a[++m]=x; //a數組存儲dfs序 v[x]=

原创 歷年2000-2016NOIP提高組題目分析

年份 題目名稱 考查內容 難度   2000-2016年NOIP提高組複賽題目 2000-A 進制轉換 初等代數,找規律 ★ 2000-B 乘積最大 資源分配DP ★★★ 2000-C

原创 高精度減法模板

題目描述  (原題鏈接) 給定兩個正整數,計算它們的差。 輸入格式 共兩行,每行包含一個整數。 輸出格式 共一行,包含所求的差。 數據範圍 1≤整數長度≤ 樣例 輸入樣例: 32 11 輸出樣例: 21 (大整數減法) O(n) #i

原创 STL中的二分查找函數

關於lower_bound( )和upper_bound( )的常見用法 lower_bound( )和upper_bound( )都是利用二分查找的方法在一個排好序的數組中進行查找的。 在從小到大的排序數組中, lower_bound(

原创 棧和隊列的模擬模板

棧 —— 模板題 AcWing 828. 模擬棧 // tt表示棧頂 int stk[N], tt = 0; // 向棧頂插入一個數 stk[ ++ tt] = x; // 從棧頂彈出一個數 tt -- ; // 棧頂的值 stk[tt]

原创 數學知識-模板

試除法判定質數 —— 模板題 AcWing 866. 試除法判定質數 bool is_prime(int x) { if (x < 2) return false; for (int i = 2; i <= x / i;

原创 Acwing算法基礎課知識點

知識點基礎算法 —— 代碼模板鏈接 常用代碼模板1——基礎算法 排序 二分 高精度 前綴和與差分 雙指針算法 位運算 離散化 區間合併 數據結構 —— 代碼模板鏈接 常用代碼模板2——數據結構 鏈表與鄰接表:樹與圖的存儲 棧與隊列:單調隊

原创 C++ STL--stack的使用方法

、stack stack 模板類的定義在<stack>頭文件中。 stack 模板類需要兩個模板參數,一個是元素類型,一個容器類型,但只有元素類型是必要 的,在不指定容器類型時,默認的容器類型爲deque。 定義stack 對象的示例代碼

原创 C++ STL--queue 的使用方法

1、queue queue 模板類的定義在<queue>頭文件中。 與stack 模板類很相似,queue 模板類也需要兩個模板參數,一個是元素類型,一個容器類 型,元素類型是必要的,容器類型是可選的,默認爲deque 類型。 定義que

原创 高精乘

#include <iostream> #include <vector> using namespace std; vector<int> mul(vector<int> A, vector<int> B) { vecto