文章分类 -  算法蒟蒻

上一页 1 ··· 10 11 12 13 14
摘要:搜索剪枝 用于DFS 常见剪枝方法 1.优化搜索顺序 2.排除等效冗余 3.可行性剪枝:上下界剪枝 4.最优性剪枝:当前已经超过了最优解 5.记忆化搜索:重复遍历一个状态时直接检索并返回 【例题】 木棒 https://www.acwing.com/problem/content/descripti 阅读全文
posted @ 2024-12-07 14:53 White_ink 阅读(23) 评论(0) 推荐(0)
摘要:【二叉树】 核心在于递归 ※注意左右子树存在时才能继续递归! 前序遍历 根节点->左子树->右子树 void pre_order(int x){ cout<<x; if(tree[x].left!=0){ pre_order(tree[x].left); } if(tree[x].right!=0) 阅读全文
posted @ 2024-11-09 01:39 White_ink 阅读(26) 评论(0) 推荐(0)
摘要:并查集 解决连通性问题 模版代码 带启发式合并 struct DSU { vector<int> fa, p, e, f; DSU(int n) { fa.resize(n + 1); iota(fa.begin(), fa.end(), 0); p.resize(n + 1, 1); e.resi 阅读全文
posted @ 2024-10-28 00:10 White_ink 阅读(43) 评论(0) 推荐(0)
摘要:【Trie树/字典树/前缀树】 模版代码 【基础封装】 //注意使用时不要把空间开到栈里:开到全局变量 否则会RE //若多组测试用例:记得trie.Clear() struct Trie{ int ch[N][70],cnt[N],idx=0; map<char,int> mp; Trie(){ 阅读全文
posted @ 2024-10-27 16:59 White_ink 阅读(12) 评论(0) 推荐(0)

上一页 1 ··· 10 11 12 13 14