算法
文章平均质量分 94
翻身的咸鱼ing
这个作者很懒,什么都没留下…
展开
-
回溯算法
Leetcode46. 全排列class Solution {public: vector<vector<int>> ans; void func(vector<int> &nums,vector<int> &vec,vector<bool>& choice){ if(vec.size() == choice.size()){ ans.push_back(vec)原创 2020-05-21 00:22:27 · 149 阅读 · 0 评论 -
动态规划(详解)
动态规划一般可分为线性动规,区域动规,树形动规,背包动规四类。背包问题:01背包问题,完全背包问题,分组背包问题,二维背包等背包问题0/1背包:0-1背包问题指的是每个物品只能使用一次题目描述给一个能承重V的背包,和n件物品,我们用重量和价值的二元组来表示一个物品,第i件物品表示为(Vi,Wi),问:在背包不超重的情况下,得到物品的最大价值是多少?输入第一行输入两个数 V,n...原创 2020-05-07 00:10:40 · 1681 阅读 · 2 评论 -
二分答案
二分答案献上题目原木切割题目描述 某林业局现在 N 根原木,长度分别为 Xi,为了便于运输,需要将他们切割成长度相等的 M 根小段原木(只能切割成整数长度,可以有剩余),小段原木的长度越大越好,现求小段原木的最大长度。例如,有 3 根原木长度分别为 6,15,22,现在需要切成 8 段,那么最大长度为 5。输入 第一行两个整数 N,M。(1≤N≤100,000,1...原创 2020-04-27 22:45:20 · 287 阅读 · 0 评论 -
二分法
基本思想算法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是排好序的。基本思想:假设数据是按升序排序的,对于给定值key,从序列的中间位置k开始比较,如果当前位置arr[k]值等于key,则查找成功;若key小于当前位置值arr[k],则在数列的前半段中查找,arr[low,mid-1];若key大于当前位置值arr[k],则在数列的后半段中继续查找arr[mid+1,high]...原创 2020-04-10 21:25:15 · 244 阅读 · 0 评论 -
DFS(深搜)和BFS(广搜)
DFS(深搜)和BFS(广搜)DFS深度优先搜索属于图算法的一种,英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次.举例说明:上图是无向图,从A节点开始进行深度优先搜索(以下的访问次序并不是唯一的,第二个点既可以是B也可以是C,D),则我们可能得到如下的一个访问过程:A->B->E(...原创 2020-04-07 01:28:28 · 1022 阅读 · 0 评论