上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 24 下一页
摘要: ## preface > 卧槽,发现我的命名有问题,我把 $v$ 定义成价值($value$),没什么问题。但是我把 $w$ 定义成体积,好像有点没道理啊。 事实上,$v=volumn, w=weight$ 比较合适。 ## 1. $01$ 背包 > [每个物品只能选或不选](https://www 阅读全文
posted @ 2023-03-19 09:59 光風霽月 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 1. 题目描述 元素可重复的旋转数组的最小值 2. 思路 ref 对二分的奇怪知识增加了! 需要注意的一点是,由于我们在二分过程中改变了 $r$ 的位置,因此不能一直使用预先存放的 $nums[r]$! 3. 代码 /* 本题与 153 题的区别在于,有重复元素 如果有重复元素,我们就无法确定左右区 阅读全文
posted @ 2023-03-18 19:56 光風霽月 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 0x01 跳表 题目描述 跳表介绍 0x02 LRU 题目描述 0x03 用两个栈实现队列 题目描述 阅读全文
posted @ 2023-03-18 16:25 光風霽月 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 1. 题目描述 丑数 2. 思路 很明显,丑数就是 $2,3,5$ 的乘积组合。 最一开始,我竟然傻傻的 $dfs$ + $set$ 来求解,其实仔细想想,$dfs$ 肯定是不行的,因为 $dfs$ 会一条路走到黑。 理想情况下,我们希望每个丑数都按位置放置,而不是跳着来的,例如,$6$ 之后的丑数 阅读全文
posted @ 2023-03-18 14:30 光風霽月 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 1. 题目描述 查找满足劳累天数严格大于不劳累天数的最大子区间 2. 思路 对于区间问题,很容易先想到前缀和帮助我们优化。 我们可以设,劳累=$1$,不劳累=$-1$,那么,就是求最大的子区间 [left,right] 使得 s[right]-s[left]-1>0 成立。 其实我们是很容易想到二分 阅读全文
posted @ 2023-03-16 21:31 光風霽月 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 有层数限制时,推荐 $BFS$ look at here 阅读全文
posted @ 2023-03-15 15:33 光風霽月 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 1. 题目描述 题目给定我们一个数组,我们每次可以对数组的一段区间加一或者减一,问我们,使得序列所有数字相等的最少操作次数以及方案个数 2. 思路 很容易想到差分,将题目转化为(假设数组下标从 $1$ 开始),最少的操作次数,使得差分数组 s[2] ~ s[n] = 0 的最少操作次数,s[1] 就 阅读全文
posted @ 2023-03-14 18:58 光風霽月 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 1. 题目描述 给定我们一些初始作物,和作物之间杂交的规则(作物 $a$ 和作物 $b$ 杂交产生种子 $c$,花费作物 $a$ 和作物 $b$ 成熟时间的最大值),让我们求,某个作物 $T$ 出现的最小时间 2. 思路 建图 最短路应该是可以看出来的,但是对于给定的规则,作物 $a$ 和作物 $b 阅读全文
posted @ 2023-03-14 17:34 光風霽月 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 一、\(dijkstra\) 不能求带负权最短路 我们知道,\(dijkstra\) 算法在求最短路是基于贪心思想的:每次选取一个点出队,从起点点到这个点的距离一定是最短的(其实就是,\(dijkstra\) 很呆,它简单而又固执的认为,边的个数越多,你的总长度肯定更长!)。然后用这个点来更新其余的 阅读全文
posted @ 2023-03-12 14:55 光風霽月 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 发现 bug 的题目 bug 代码 void get_primes(int n) { for(int i = 2; i < n; i ++ ) { if(!st[i]) primes[idx ++ ] = i; for(int j = 0; primes[j] < n / i ; j ++ ) // 阅读全文
posted @ 2023-03-11 11:12 光風霽月 阅读(10) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 24 下一页