
算法分类题解
基础算法
firesodier
https://github.com/nlpofwhat
展开
-
比赛名次确定的个数
未完待续华为机试,没撕出来《*——*》名次确定的次数核心思路,某个队伍左边的队伍个数和右边的队伍个数为n-1,那么这个队伍的名次是确定的,左边的队伍个数为这个队伍的名次#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define maxn 106int n, m;bool g[maxn][原创 2021-02-24 21:46:44 · 277 阅读 · 0 评论 -
堆排序
字节面试考到的知识点,对输入整数数据流取中位数,面试当时想到了单调队列的方法,维护一个单调队列总的时间复杂度为,现场没撕出来,后来去leetcode提交最后一个测试案例超时不过想法应该是对的,后来看答案是用堆的调整,复习下堆排序,1.堆排序c++实现1.1 准备排序需要借助一个交换函数swap可以自己实现也可以用c++的实现#include<bits/stdc++.h>using namespace std;void swap(int arr[], int a, in原创 2021-02-16 14:32:34 · 232 阅读 · 1 评论 -
dfs和回溯
很多问题动态规划比较难想,dfs就可以用来兜底,再加上合适的剪枝就成了回溯,有时候可能比dp更快,dfs感觉比递归更好理解,一般都可以使用二叉树或者图的方式来理解。一般用回溯能解的一定能用dfs解因为dfs是遍历了所有的解。回溯遍历的解是dfs的子集目录01背包问题dfs求解回溯求解01背包问题dfs求解回溯求解...原创 2020-08-27 21:36:22 · 2052 阅读 · 0 评论 -
dp——背包模板乱锅炖
1.经典背包模板01背包完全背包多重背包混合背包分组背包原创 2020-08-20 16:00:44 · 332 阅读 · 0 评论