暑假集训复习篇
辉忆年
这个作者很懒,什么都没留下…
展开
-
DFS与BFS
搜索算法是有目的性的穷举问题的部分或所有可能情况,从而求出可行解的方法。 搜索算法分为:深度优先搜索(深搜,dfs)、广度优先搜索(广搜,bfs)…。剩下的没学也不会,先不管了^ _ ^。 DFS dfs:从一个初始状态出发,一层一层的往下遍历,直到无法前往下一层或者到达终点。其中的剪枝就是根据题意减去没必要遍历的状态,从而减少时间和空间复杂度。 这里提一下一个极其强大的剪枝方法: 奇偶性剪枝;博...原创 2019-09-03 11:32:23 · 145 阅读 · 0 评论 -
动态规划-背包问题
动态规划问题最重要的便是状态转移方程; 01背包:dp[ i ][ j ] = max(dp[ i-1][ j ], dp[ i ][ j-cost[ i ] ] + value[ i ]);其中i为第几个物品,j为背包容量; 代码: for(int i=1; i<=n; ++i) { for(int j=cost[i]; j<=bag; ++j) { ...原创 2019-09-05 09:09:40 · 119 阅读 · 0 评论 -
栈、队列、二叉树
栈 特点:先进后出(FILO); 用法: 单调栈:就是一直维护栈内元素,使其一直处于一种单调状态,故称为单调栈; 博客:https://blog.csdn.net/wubaizhe/article/details/70136174 队列 特点:先进先出(FIFO); 优先队列:priority_queue(队列中的元素可自动排序); 博客:https://blog.csdn.net/qq_1965...原创 2019-09-06 17:43:38 · 429 阅读 · 0 评论