左神演算法學習日記 動態規劃高階

2021-09-21 17:55:21 字數 850 閱讀 4073

給定乙個陣列,通過給陣列中每乙個數乙個整數倍的值,求和為aim的所有可能性。

int recmonnum(vector& arr, int index, int aim)

return res;

}int dpmonnum(vectorarr, int aim)

return dp[0][aim];

}int dpmonnum2(vectorarr, int aim)

return dp[0][aim];

}給定乙個整型陣列arr, 代表數值不同的紙牌排成一條線 玩家a和玩家b依次拿走 每張紙牌, 規定玩家a先拿,

玩家b後拿, 但是每個玩家每次只能拿走最左或最右 的紙牌, 玩家a和玩家b都絕頂聰明 請返回最後獲勝者的

分數int behget(vector& arr, int l, int r);

int preget(vector& arr, int l, int r)

int behget(vector& arr, int l, int r)

int recget(vectorarr)

for (int j = 1; j < arr.size(); j++) }

return max(behdp[0][arr.size() - 1], predp[0][arr.size() - 1]);

}int ways(int n, int objpos, int curpos, int restep)

int recways(int n, int objpos, int curpos, int step)

return dp[step][curpos - 1];

}

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

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

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

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

左神演算法學習日記 樹dp

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