摘要: KMP是一种最基础的字符串算法,用于处理单模式串匹配(听起来有点高深,不要慌,我也不知道是什么,看下去就知道了)。首先我们看看KMP是干什么的——给你两个字符串,寻找其中一个字符串是否包含另一个字符串,如果包含,返回包含的起始位置。 一般匹配字符串时,我们... 阅读全文
posted @ 2018-06-07 19:53 落九思 阅读(97) 评论(0) 推荐(0)
摘要: 今天我们来讨论一种我自认为十分实用的数据结构——树状数组。在我看来树状数组十分易懂,一定程度上与线段树相比有极大的优势。接下来我们来深究树状数组。 前提 你不需要会线段树,但你需要知道线段树的存贮结构(因为我将通过比较线段树来讲解)。 正文 我们先来见识一下线段树的储存方式: 应该很好懂,接下来就是 阅读全文
posted @ 2018-06-06 23:40 落九思 阅读(74) 评论(0) 推荐(0)
摘要: 引入 所谓多重背包问题,基本长一个样:一个背包,承量有限为W,有n种物体,第i种物体,价值Vi,占用重量为 Wi,且有Ci件,选择物品若干放入背包,使得总重量不超过背包的承重,求最大总价值。解法 我们可以先从一般的01背包的解法入手:倘若用01背包的... 阅读全文
posted @ 2018-02-13 22:35 落九思 阅读(247) 评论(0) 推荐(0)
摘要: 补墙(wall)【题目描述】小R最近在玩一款塔防类游戏。在游戏中,小R修了一排城墙来保护他的基地。在敌人的一轮进攻之后,城墙的许多地方被破坏了,变得参差不齐。小R是一个强迫症患者,他看到这些参差不齐的城墙觉得非常难受,因此决定对这些城墙进行修补。城墙共分为n段,从左到... 阅读全文
posted @ 2018-01-18 10:45 落九思 阅读(167) 评论(0) 推荐(0)
摘要: 题面:题目来源: CodeForces基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题杰克最近正在努力锻炼他的跳跃技能。当前他正站在X坐标轴原点上。他想跳到坐标(x,0)上,为了达到训练效果,他决定首次跳跃的距离是1,之后每一次跳跃的... 阅读全文
posted @ 2017-10-09 21:55 落九思 阅读(225) 评论(0) 推荐(0)