左神演算法學習日記 搜尋二叉樹使用方法

2021-09-20 21:23:48 字數 829 閱讀 3604

class edge

};//給定一堆樓的位置引數與其高度即[startpositoon,endposition,height],然後求出這堆樓的整體輪廓就像photoshop裡的一些摳圖工具一樣,只獲取樓的邊緣。

vector> getprofile(vector> build)

sort(arr.begin(), arr.end(), (edge* l,edge* r));

mapheimap;

mappromap;

for (int i = 0; i < arr.size(); i++)

int start = 0;

int height = 0;

for (auto var : promap)

); }

start = var.first;

height = var.second;

} }return res;

}求陣列中子陣列中和為aim的最長子陣列的長度

int maxlen(vectorarr,int aim)

if (presum.find(sum)==presum.end())

}return res;

}給定乙個陣列並對該陣列進行劃分,求一種最優的劃分方法,使得劃分得到的子陣列中異或和為0的子陣列最多

int maxdif(vectorarr)

if (i>0)

dp[i] = max(dp[i - 1], dp[i]);

search[xor] = i;

} return dp[arr.size() - 1];

}

左神演算法學習日記 樹dp

樹dp問題只需要考慮每個結點的所有孩子的情況就可以解決 class node node class treeinf void creat node node if r 獲得子樹中結點最多的搜尋二叉樹的結點個數 treeinf getmaxnode node node treeinf leftinf ...

左神演算法學習日記 堆(二)

include include include include include include include includeusing namespace std class project project const project p push進堆時用到了拷貝建構函式,雖然不寫也無所謂 pro...

左神演算法學習日記 堆(一)

一直覺得赫夫曼樹沒什麼diao用,沒想到這道題可以用赫夫曼樹,而且用小根堆可以實現赫夫曼樹,學到好多。題目二一塊金條切成兩半,是需要花費和長度數值一樣的銅板的。比如長度為20的金條,不管切成長度多大的兩半,都要花費20個銅板。一群人想整分整塊金條,怎麼分最省銅板?例如,給定陣列,代表一共三個人,整塊...