摘要: 01 背包 \(01\) 的意图很明显,就是每个物品有 \(01\),即 选 和 不选 两种方式。 暴力 考虑设定一个状态 \(dp[i][j]\) 表示在前 \(i\) 个当中,花费为 \(j\) 所能获得的最大值。 转移可以: \(dp_{i,j}=\max(dp_{i-1,j},dp_{i-1 阅读全文
posted @ 2024-05-24 18:39 Pump_kin 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 单调队列 考虑在一个序列中维护一个类似于窗口的东西。 以下不妨设求得是窗口最大值。 首先根据贪心,如果当前数整个窗口中最大的,并且是最靠前的,那么这个数前面的所有数都不会对答案产生一点贡献。于是考虑维护一个单调递增的序列,需要从中找出答案。设置一个首指针,未指针代表这个窗口的开始和结束。 然后,考虑 阅读全文
posted @ 2024-05-19 16:36 Pump_kin 阅读(93) 评论(0) 推荐(1) 编辑