原创 動態規劃揹包問題——多重揹包(附帶混合揹包)

多重揹包: 問題背景: 有一個容量爲V的揹包,有N種物品,每一種物品的體積爲c[i],對應的價值爲v[i],數量爲s[i],選擇最佳方案,使揹包中所裝的物品的總價值最大。 有了之前的基礎,我們就能輕鬆地寫出狀態轉移方程 f[i][

原创 動態規劃揹包問題——二維費用揹包

二維費用揹包: 問題背景:一個揹包容量爲V,最大承受重量爲W,現在有N種物品,每種物品重w[i],所佔體積爲c[i],價值爲v[i],每種物品只有一件,問如何才能使揹包中所裝物品的總價值最大。 這裏,我們的限制條件多了一個,重量也

原创 動態規劃揹包問題——01揹包(超詳細)

01揹包問題 問題背景: 設有容量爲V的揹包,有N種物品,每件物品的體積是c[i],對應的價值是v[i],每種物品只有一個,要使揹包中所裝物品的價值總和最大,問該如何選擇。 用一個二維數組f[i][j],來表示i件物品,在用j的容

原创 【模板】——線段樹(求和)

線段樹是一種二叉樹可以用數組來實現 存儲需要的空間爲 n往上的2^n取整再乘以2 如 28 -> 32 x 2 -> 64足夠了 我們規定根節點爲1 發現每個節點的左子節點爲父節點的兩倍,右子節點爲父節點的兩倍加一 void p

原创 動態規劃——最長上升子序列(LIS)

最長上升子序列(LIS) 問題背景: 有一個數列,從其中挑選一些數字但保證他們之間的前後關係不變組成一個新數列,那麼稱這個新的數列是原數列的一個子數列。 最長上升子序列問題就是保證跳出來的子序列是嚴格遞增的,一般是求出這個子序列的

原创 深度優先搜索+剪枝入門

接觸深搜好長一段時間了,從最開始的八皇后問題一臉懵,到現在能寫一點簡單的深搜,感覺進步還是有一點點,剪枝還是基本想不到有效的剪枝方法,只會一點簡單的剪枝,今天整理一下我學的深搜。 搜索這個東西抽象性太強,有人說深搜就是不撞南牆不回

原创 動態規劃揹包問題——完全揹包

完全揹包: 問題背景描述: 你有一個容量爲V的揹包,現在有N種物品供你選擇,每件物品可以選擇無數次,每種物品所佔的空間爲c[i],價值爲v[i],現在讓你作出最佳方案,使揹包中的總價值最大。 有了之前01揹包的基礎,我們很快就能寫

原创 關於C++模板類運算符重載在類內外實現的不同

最近在學習c++的模板,起初還挺順利,但是在模板類遇到了一個IO流重載的問題 首先我是這樣寫的,但是不能編譯 #include<iostream> using namespace std; template<typename T>

原创 C++——STL的set與map簡單使用

set容器 set< int > s與 set< int, less< int > () > s等價是默認升序排列,如果要降序的話可以這樣寫 set< int, greater< int >() > s; 但是要寫頭文件funct

原创 動態規劃——有順序的揹包問題

HUD 3466 Recently, iSea went to an ancient country. For such a long time, it was the most wealthy and powerful king

原创 動態規劃——石子合併問題

石子合併問題分三類: 1、任意合併 2、相鄰的才能合併且排成直線 3、相鄰的才能合併且圍成圈 1、貪心即可解決 合併果子(貪心題) 2、直線型 合併石子直線型 對於區間dp問題,我們先要把它細分爲區間 我們可以這樣定義dp數組 d

原创 map容器按值(value)排序

衆所周知,map映射是(key-value)的形式,map自帶爲key排序,但是很多時候我們想讓map按value排序,這時,我們可以藉助vector bool cmp(const PAIR& x, const PAIR& y

原创 動態規劃揹包問題——分組揹包

分組揹包 問題背景: 有一個容量爲V的揹包,有N件物品。每一件物品的體積爲c[i],價值爲v[i],這些物品被劃分爲若干組,每組中的物品最多選一件,因爲他們互相沖突,求出最佳方案,使揹包中的總價值最大。 這個問題變成了這一組的物品

原创 林大計算機學子第一篇博客

林大計算機學子第一篇博客 歡迎使用Markdown編輯器 你好! 這是你第一次使用 Markdown編輯器 所展示的歡迎頁。如果你想學習如何使用Markdown編輯器, 可以仔細閱讀這篇文章,瞭解一下Markdown的基本語法知識

原创 動態規劃揹包問題——有依賴的揹包

有依賴的揹包問題 問題背景: 揹包中的物品存在某種依賴關係,比如,你想選擇i物品,就必須選擇物品j。可能還有多重依賴的關係。這種問題的鼻祖應該是2006NOIP的金明的預算方案,我就以這道題來講述一下我如今會的比較笨的方法: 由於