自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 洛谷[AT_cf_2015_relay_g]题解

[AT_cf_2015_relay_g]题解

2023-07-27 14:46:21 445

原创 大学生活题解

大学生活题解

2023-07-26 11:59:54 1785

原创 P1149火柴棒等式题解

P1149[NOIP2008 提高组] 火柴棒等式

2023-07-25 15:38:08 272

原创 骨头的诱惑题解

骨头的诱惑题解

2023-07-25 15:18:33 432

原创 上学题解[bfs]

上学题解

2023-07-25 15:07:38 212

原创 二进制子集题解

二进制子集题解

2023-07-25 11:51:37 199

原创 可可口乐题解

可可口乐题解

2023-07-25 11:25:29 337

原创 搭扑克牌塔题解

搭扑克牌塔题解

2023-07-25 11:15:31 327

原创 P1083[NOIP2012提高组]借教室题解

P1083[NOIP2012提高组]借教室题解

2023-07-25 10:13:01 216

原创 P1824进击的奶牛题解

P1824进击的奶牛[二分]题解

2023-07-25 09:42:04 307

原创 替换字母题解

替换字母题解

2023-07-24 16:57:39 120

原创 货仓选址题解

货仓选址题解

2023-07-24 15:41:37 62

原创 奶牛玩杂技题解

奶牛玩杂技题解

2023-07-24 15:03:52 125

原创 飞刀传承题解

飞刀传承题解

2023-07-24 14:44:51 151

原创 CCC题解

CCC题解

2023-07-24 10:29:22 364

原创 [SPOJ]INVDIV - Smallest Inverse Sum of Divisors题解

[SPOJ]INVDIV - Smallest Inverse Sum of Divisors题解

2023-07-24 09:23:52 63

原创 我的创作纪念日

Tips

2023-07-23 20:24:50 61

原创 C++线性技巧,STL

子串计算、卡牌、简单的求和(先行数据结构,STL)

2023-07-23 20:20:28 303

原创 dp分组背包

我们可以将 t(k,i) 表示第 k 组的第 i 件物品的编号是多少,再用 cnt (k) 表示第 k 组物品有多少个。其实是从「在所有物品中选择一件」变成了「从当前组中选择一件」,于是就对每一组进行一次 0-1 背包就可以了。背包问世之后,小 A 对此深感兴趣。一天,小 A 去远游,却发现他的背包不同于。组,每组中的物品相互冲突,现在,他想知道最大的利用价值是多少。,表示物品的重量,利用价值,所属组数。背包,他的物品大致可分为。一个数,最大的利用价值。这里要注意:一定不能。,这样才能保证正确性。

2023-05-02 10:44:05 487

原创 二维费用背包

洛谷的运营组决定,如果一名 OIer 向他的教练推荐洛谷,并能够成功的使用(成功使用的定义是:该团队有 2020 个或以上的成员,上传 1010 道以上的私有题目,布置过一次作业并成功举办过一次公开比赛),那么他可以浪费掉 kkksc03 的一些时间的同时消耗掉 kkksc03 的一些金钱以满足自己的一个愿望。既可以是团队内部的私有比赛,也可以公开赛,甚至可以指定谁可以参加比赛。这道题是很明显的 0-1 背包问题,可是不同的是选一个物品会消耗两种价值(经费、时间),只需在状态中增加一维存放第二种价值即可。

2022-11-29 20:46:30 130

原创 混合背包问题

题意概要:有 n 种樱花树和长度为 T 的时间,有的樱花树只能看一遍,有的樱花树最多看 Ai 遍,有的樱花树可以看无数遍。每棵樱花树都有一个美学值 Ci,求在 T 的时间内看哪些樱花树能 使美学值最高。这种题目看起来很吓人,可是只要领悟了前面几种背包的中心思想,并将其合并在一起就可以了。混合背包就是将前面三种的背包问题混合起来,有的只能取一次,有的能取无限次,有的只能取k次。由于实际代码量太大,这里就不做展示了,当然量大不代表难。由于非常简单,这里直接给出代码,核心代码在前面几篇博客里都有讲到。

2022-11-29 20:26:55 140

原创 多重背包问题

多重背包也是 0-1 背包的一个变式。与 0-1 背包的区别在于每种物品有ki个,而非一个。一个很朴素的想法就是:把「每种物品选ki次」等价转换为「有ki个相同的物品,每个物品选一次」。这样就转换成了一个 0-1 背包模型,套用上文所述的方法就可已解决。状态转移方程如下:时间复杂度。

2022-11-20 19:07:44 365

原创 完全背包问题

题意概要:有n种物品和一个容量为w的背包,每种物品有重量wi和价值vi两种属性,要求选若干个物品放入背包使背包中物品的总价值最大且背包中物品的总重量不超过背包的容量。我们可以借鉴 0-1 背包的思路,进行状态定义:设 fi,j 为只能选前 i 个物品时,容 量为 j 的背包可以达到的最大价值。考虑做一个简单的优化。完全背包模型与 0-1 背包类似,与 0-1 背包的区别仅在于一个物品可以选取无限次,而非仅能选取一次。需要注意的是,虽然定义与 0-1 背包类似,但是其状态转移方程与 0-1 背包并不相同。

2022-11-19 00:14:53 112

原创 0-1背包问题

在将什么是0-1背包问题前,先来看下面一道例题:题意概要:有 n 个物品和一个容量为 W 的背包,每个物品有重量w i和价值v i两种属性,要求 选若干物品放入背包使背包中物品的总价值最大且背包中物品的总重量不超过背包的容量。在上述例题中,由于每个物体只有两种可能的状态(取与不取),对应二进制中 的 0 和 1,这类问题便被称为「0-1 背包问题」。

2022-11-16 21:13:27 457

原创 背包dp-前言(这也许是全网最全的背包dp了)

由于动态规划并不是某种具体的算法,而是一种解决特定问题的方法,因此它会出现在各式各样的数据结构中,与之相关的题目种类也更为繁杂。动态规划(Dynamic Programming, DP)是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。以上就是这一期专栏要讲的所有背包dp问题了,这也许是全网最全的背包dp了,如果不全勿喷,请告诉我,我会及时补充。在动“态规划-背包dp”的专栏里,将会分为9个专项来为大家讲解动态规划。在学习背包dp之前,先要知道关于动态规划的一些基础知识。

2022-11-15 20:35:56 233

原创 记忆化搜索

记忆化搜索是一种通过记录已经遍历过的状态的信息,从而避免对同一状态重复遍历的搜索实现方式。因为记忆化搜索确保了每个状态只访问一次,它也是一种常见的动态规划实现方式。

2022-11-15 20:10:43 390

原创 最长不下降子序列(接上一篇)

接着上一篇讲,这个最长不下降子序列,先给大家看一下题目。给定一个长度为 n 的序列 A(n ≤ 5000),求出一个最长的 A 的子序列,满足该子序列的后一个 元素不小于前一个元素。

2022-11-14 20:32:13 315

原创 动态规划基础

本篇博客要介绍了动态规划的基本思想,以及动态规划中状态及状态转移方程的设计思路,帮助各位初学者对动态规划有一个初步的了解。本部分的其他页面,将介绍各种类型问题中动态规划模型的建立方法,以及一些动态规划的优化技巧。

2022-11-13 19:55:43 285

原创 搜索算法优化

DFS(深度优先搜索)是一种常见的算法,大部分的题目都可以用 DFS 解决,但是大部分情况下,这都是骗分算法,很少会有爆搜为正解的题目。因为 DFS 的时间复杂度特别高。(没学过 DFS 的请自行补上这一课)既然不能成为正解,那就多骗一点分吧。那么这一篇文章将介绍一些实用的优化算法(俗称“剪枝”)。先来一段深搜模板,之后的模板将在此基础上进行修改。int ans = 最坏情况, now;// now 为当前答案void dfs(传入数值) {

2022-11-12 14:36:12 260

原创 Alpha-Beta 剪枝

Minimax$ 算法又叫极小化极大算法,是一种找出失败的最大可能性中的最小值的算法。1在局面确定的双人对弈里,常进行对抗搜索,构建一棵每个节点都为一个确定状态的搜索树。奇数层为己方先手,偶数层为对方先手。搜索树上每个叶子节点都会被赋予一个估值,估值越大代表我方赢面越大。我方追求更大的赢面,而对方会设法降低我方的赢面,体现在搜索树上就是,奇数层节点(我方节点)总是会选择赢面最大的子节点状态,而偶数层(对方节点)总是会选择我方赢面最小的的子节点状态。

2022-11-11 19:42:38 9742 11

原创 C++回溯算法

​回溯法是一种经常被用在深度优先搜索(DFS)和广度优先搜索BFS 的技巧。其本质是:走不通就回头。​

2022-09-24 12:31:28 707

原创 CSP第一轮认证时间

CSP第一轮认证时间

2022-09-10 10:35:50 212

原创 C++双向搜索

双向同时搜索的基本思路是从状态图上的起点和终点同时开始进行广搜或深搜。如果发现搜索的两端相遇了,那么可以认为是获得了可行解。

2022-08-21 11:17:13 408

原创 DFS深度优先搜搜

DFS 为图论中的概念。在搜索算法中,该词常常指利用递归函数方便地实现暴力枚举的算法,与图论中的 DFS 算法有一定相似之处,但并不完全相同。

2022-07-29 11:10:18 209

原创 开心的金明题解

信息学奥赛一本通1935(2006noip普及组)开心的金明题解

2022-07-29 10:51:30 257

原创 C++三分法

如果需要求出单峰函数的极值点,通常使用二分法衍生出的三分法求单峰函数的极值点。

2022-07-27 19:37:17 2393

原创 C++二分答案

解题的时候往往会考虑枚举答案然后检验枚举的值是否正确。若满足单调性,则满足使用二分法的条件。把这里的枚举换成二分,就变成了“二分答案”。

2022-07-27 17:37:42 759

原创 C++二分查找

二分查找(英语:binary search),也称折半搜索(英语:half-interval search)、对数搜索(英语:logarithmic search),是用来在一个有序数组中查找某一元素的算法。

2022-07-27 14:53:07 4780

原创 C++桶排序

桶排序(英文:Bucket sort)是排序算法的一种,适用于待排序数据值域较大但分布比较均匀的情况。

2022-07-26 17:09:00 1082 2

原创 C++快速排序

快速排序(英语:Quicksort),又称分区交换排序(英语:partition-exchange sort),简称快排,是一种被广泛运用的排序算法。

2022-07-26 17:03:46 547

程序结构和变量程序结构和变量

程序结构和变量

2023-02-25

C++动态规划二维费用背包

二维费用背包

2022-11-21

广度优先搜索动画示意图

广度优先搜索动画示意图

2022-07-23

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除