資料結構 演算法模板

2022-03-25 04:51:31 字數 1576 閱讀 8146

public double quickmul(double x, long n) 

return res;

}

const int max_n = 1e5+5;

int par[max_n * 2];

int rank[max_n * 2];

void init(int n)

}int find(int x) else

}void unite(int x, int y) else

}bool same(int a, int b)

詳見 樹狀陣列知識

int n;

int a[1005],c[1005]; //對應原陣列和樹狀陣列

int lowbit(int x)

void updata(int i,int k)

}int getsum(int i)

return res;

}

基礎背景: 給定乙個v體積的為盒子,你有n個物品,每個物品的體積 和 價值 分別為vi、wi,求在不超過v的條件下,盡可能讓盒子中的物品總價值大。每種物品只能選1次或者0次。

#includeusing namespace std;

const int n = 5050;

int v, n;

int v[n], w[n];

int main()

} cout << f[v] << "\n"; // f[v]最優解

return 0;

}

基礎背景: 前提條件與0-1揹包一致,不同的是,完全揹包中,每種物品能有無窮個供選。

#includeusing namespace std;

const int n = 5050;

int v, n;

int v[n], w[n];

int main()

} cout << f[v] << "\n"; // f[v]最優解

return 0;

}

基礎背景:給定乙個v體積的為盒子,你有n個物品,每個物品的體積、價值、個數,分別為vi、wi、ci,求在不超過v的條件下,盡可能使盒子中的物品總價值最大。每種物品可以選0-ci次。

待補充
/**

trie字典樹模板

*/public class trie

} node root;

public trie()

// 構建trie樹

public void insert(string s)

p.end = true;

} // 查詢是否存在匹配串

public boolean query(string s)

return p.end;

}}

資料結構與演算法 KMP演算法模板

kmp演算法指的是字串模式匹配演算法,問題是 在主串t中找到第一次出現完整子串p時的起始位置。該演算法是三位大牛 d.e.knuth j.h.morris和v.r.pratt同時發現的,以其名字首字母命名。下面是kmp演算法的c 版本 include include include using na...

資料結構 資料結構演算法

分治法 對於乙個規模為n的問題,若該問題可以容易地解決 比如說規模n較小 則直接解決 否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。動態規劃法 這種演算法也用到了分治思想,它的做法是將問題例項分解為更小的 相似的子...

STL模板類 資料結構與演算法

stl提供了一些模板類,實現了 資料結構 中的一些資料結構型別 在寫 時用到棧,佇列等資料結構時可以充分利用stl模板類,會發現特別好用。想起c語言中用陣列實現棧和佇列,簡直就是噩夢。c 是世界上最好的語言。just kidding 順序容器 動態陣列 vector deque 鍊錶list 關聯容...