5556. 可以到达的最远建筑 刚开始写得时候感觉像贪心,但没分析好不敢写,自己写了个记忆化搜索,后来看讲解把贪心法给补上 记忆化搜索 const int MAXN = 1e5+50; class Solution { public: int dp[MAXN]; int dfs(int now, v ...
分类:
其他好文 时间:
2020-11-01 22:29:28
阅读次数:
84
简单的贪心法,代码如下 1 #include <iostream> 2 #include<stdio.h> 3 double amount[1000]; 4 double price[1000]; 5 using namespace std; 6 int getMax(int n){ 7 int r ...
分类:
其他好文 时间:
2020-07-04 16:57:41
阅读次数:
70
/* * 方法一 贪心法 O(n) * * 当叠加的和小于0时,就从下一个数重新开始, * 同时更新最大和的值(最大值可能为其中某个值), * 当叠加和大于0时,将下一个数值加入和中, * 同时更新最大和的值,依此继续。 * * 举例: nums = [-2,1,-3,4,-1,2,1,-5,4] ...
分类:
编程语言 时间:
2020-06-26 12:27:32
阅读次数:
54
1.摘要: 关于LIS部分,本篇博客讲一下LIS的概念定义和理解,以及求LIS的三种方法,分别是O(n^2)的DP,O(nlogn)的二分+贪心法,以及O(nlogn)的树状数组优化的DP,最后附上几道非常经典的LIS的例题及分析。 2.LIS的定义: 最长上升子序列(Longest Increas ...
分类:
其他好文 时间:
2020-06-04 01:48:57
阅读次数:
91
此题的策略是选取可用范围最右边的点,一般来说该点辐射两边,左侧辐射,右侧辐射,所以用两个循环,第一个循环找出该点,第二个循环求出最右边的点 源代码: #include<iostream>#include<algorithm>using namespace std;#define maxn 1100i ...
分类:
其他好文 时间:
2020-05-29 21:33:35
阅读次数:
70
本题的关键是从可选择方法中选择哪一类最优化 答案是结束时间最早的一类 源代码 #include<iostream>#include<algorithm>#include<cstdio>#define maxn 100100using namespace std;struct w{ int endd, ...
分类:
其他好文 时间:
2020-05-29 13:27:58
阅读次数:
55
当面对一个复杂的问题,需要求得问题最优解的时候,贪心法可以高效率的解决问题; 贪心法不是从整体最优考虑,它仅仅是通过一系列在局部看来最好的选择,而得到问题整体的最优解; 贪心法并不是对所有的问题都能得到最优解,但对许多问题它确实能产生整体最优解,而对一些问题即使不能得到整体最优解,也能得到最优解的近 ...
分类:
编程语言 时间:
2020-05-07 10:52:35
阅读次数:
65
1. 分治法和动态规划的异同: 共同点: ? 将待求解的问题分解成若干子问题,先求解子问题,然后再从这些子问题的解得到原问题的解。 不同点: ? 1)适合于用动态规划法求解的问题,分解得到的各子问题往往不是相互独立的;而分治法中子问题相互 独立。 ? 2)动态规划法用表保存已求解过的子问题的解,再次 ...
分类:
编程语言 时间:
2020-05-03 14:23:55
阅读次数:
79
介绍: 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与 ...
分类:
编程语言 时间:
2020-04-30 21:41:07
阅读次数:
75
贪心是一种解决问题的策略。 背包相关问题 最优装载问题:给出n个物体,第i个物体重量为wi.选择最多的物体,使得总重量不超过C。 每次都选择装最轻的,这是一种典型的贪心算法,它只顾眼前,却能得到最优解。 部分背包问题:有n个物体,第i个物体的重量为wi,价值为vi.在总重量不超过C的情况下让总价值尽 ...
分类:
其他好文 时间:
2020-03-25 23:13:23
阅读次数:
75