摘要: 注:两道题目题意是一样的,但是数据范围不同,一个为弱化版,另一个为强化版。 P3146传送门(弱化版) 思路: 区间动规,设 f [ i ][ j ] 表示在区间 i ~ j 中获得的最大值,与普通区间动规最大的不同在于:只有左区间的最大值等于右区间的最大值时才能够进行转移。 AC代码: P3147 阅读全文
posted @ 2018-09-18 18:04 落笔映惆怅丶 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路: 本题可用数位DP来做,设 f [ i ][ a ][ b ][ c ][ j ] 表示当前枚举到(二进制下的)第i位,a' b' c'各用a,b,c了几个1,j表示最后一位是否有进位。转移方程就只要暴力枚举8种情况(不同位置及是否进位)。 DP方程: 由上DP转移方程可看出,如果是枚 阅读全文
posted @ 2018-09-17 22:21 落笔映惆怅丶 阅读(304) 评论(1) 推荐(0) 编辑
摘要: 传送门 区间DP简介: 在写这题前,需要先弄清楚区间DP是如何操作的: 区间DP的做法还是相对固定的,没有其他类型DP的复杂多变。主要思想就是先在小区间进行DP得到最优解,然后再利用小区间的最优解合并求大区间的最优解。实现起来也十分简单,即枚举区间长度,再枚举左端点,之后枚举区间的断点进行转移。(不 阅读全文
posted @ 2018-09-17 19:04 落笔映惆怅丶 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 传送门 “CDQ分治”从来都没有听说过,写了这题才知道还有这么神奇的算法。 (被逼无奈)。w(゚Д゚)w 于是看了不少dalao的博客,对CDQ算法粗浅地了解了一点。(想要了解CDQ的概念,可以看下这位dalao的博客) 所以,这道题要怎么做呢。。。 根据,CDQ分治理论,这题按照题意建出来储存信息 阅读全文
posted @ 2018-09-16 22:17 落笔映惆怅丶 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 简单实用的数据结构——线段树(模板) 一.基本操作,查询区间最大最小值(传送门) 二.线段树区间加法,区间求和(传送门) 三.线段树区间加法、乘法,区间求和(传送门) 思路:开两个数组,一个记录加法的lazy标记,一个记录乘法的lazy标记。标记下传时按照先乘后加的原理(有乘法标记先处理乘法标记,再 阅读全文
posted @ 2018-09-16 17:25 落笔映惆怅丶 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 传送门 其实这题还是比较水的。(主要是写代码的时候以为枚举判断能够过(就写了300+行),最后还T了。) 只要加三个判断数组vis1 , vis2 ,vis 3 , 分别判断该格子的行、列、宫内的数字有哪些被用过。加上无脑搜索就A了。 有个小坑:本题的输出要放在DFS内,不然搜索回溯后,建好的新图就 阅读全文
posted @ 2018-09-14 21:36 落笔映惆怅丶 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 一个与 n 有关的整数加成序列 < a0 , a1 , a2 ...am> 满足一下四个条件: 1.a0=1 2.am=n 3.a0<a1<a2<...<am 4.对于每个( 1≤k≤m )都存在有两个整数 i 和 j (0 ≤ i , j ≤ k - 1 , i 和 j可以相等),使得 阅读全文
posted @ 2018-09-14 19:35 落笔映惆怅丶 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 尝试水一波。。。 难度感觉还行。 T1.买铅笔 题目描述 P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有3种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起见,P老师决定只买同一种包装的铅笔。 商店不允许将铅笔的包装拆开,因此P老师可能需要购买超过 阅读全文
posted @ 2018-09-13 20:09 落笔映惆怅丶 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路: ①在 Tarjan 的基础上加一个 belong 记录每个点属于哪个强连通分量。 ②存图完成后,暴力地遍历全图,查找是否要间谍不愿受贿。 遍历完后,看看那个间谍没被搜索过(vis数组记录),就把那个不受贿的间谍抓出来。 ③如果所有的间谍都愿意受贿,就继续。可以开一个smon数组,记录 阅读全文
posted @ 2018-09-11 21:49 落笔映惆怅丶 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 传送门 做过次短路后,再来做这题感觉轻松不少。 这题看着就像最短路模板题。 思路: 虽说题目看起来比较水,但是码起来还是有点难度的。(对我这个蒟蒻来说) 这道题,跟"路障"一题差不多,都属于最短路中的分段求值。(即枚举两个最短路,及中间连接部分) 那么就有思路了: ①求出点 1,点 2,点 n 到其 阅读全文
posted @ 2018-09-10 21:53 落笔映惆怅丶 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 传送门 ——在LYC大佬的帮助下过了这道题 思路: LYC大佬的博客里已经讲得很清晰了,我只是提一下要点。 求次短路,主要考虑两个方面: ①在不重复走一条路的前提下,把最短路的其中一段替换为另一段。 ②找出最短路中的最短的一条边,重复走两次。(走过来又走回去) 分别求出这两方面所能算出的次短路的值, 阅读全文
posted @ 2018-09-10 19:39 落笔映惆怅丶 阅读(3183) 评论(1) 推荐(1) 编辑
摘要: 题目: 给出一个N个顶点M条边的无向无权图,顶点编号为1−N。问从顶点1开始,到其他每个点的最短路有几条。 ——传送门 受到题解的启发,用 Dijkstra A掉(手工代码) 思路: 1.无向无权图,建图的时候别忘记建来回的有向边 2.无权,那么边长建成1就好了 3.最短路采用 Dijkstra(堆 阅读全文
posted @ 2018-09-09 20:34 落笔映惆怅丶 阅读(488) 评论(1) 推荐(0) 编辑
摘要: 算法思想: 类似最小生成树的贪心算法,从起点 v0 每次新拓展一个距离最小的点,再以这个点为中间点,更新起点到其他点的距离。 算法实现: 需要定义两个一维数组:①vis[ i ] 表示是否从源点到顶点 i 的最短距离。②用d[ i ] 记录源点v0到顶点 i 的距离值。 具体步骤如下: (1)初始化 阅读全文
posted @ 2018-09-09 19:00 落笔映惆怅丶 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 一.AC自动机的简介: 与KMP算法类似,AC自动机也是用来处理字符串匹配的问题。AC自动机是建立在KMP算法和Tire树的基础上的。(要有KMP和Tire树的基础,才能熟练掌握AC自动机)。 二.AC自动机的主要步骤: 构建一个AC自动机并用于匹配需要三个步骤: ①将所有的模式串构建一棵Tire树 阅读全文
posted @ 2018-09-06 22:26 落笔映惆怅丶 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 这是一道模板题。 给定一个字符串 A 和一个字符串 B ,求 B 在 A 中的出现次数。A 和 B中的字符均为英语大写字母。 求A 在 B 中出现了几次。(可重叠) 样例输入: 3 BAPC BAPC AZA AZAZAZA VERDI AVERDXIVYERDIAN 样例输出: 1 3 阅读全文
posted @ 2018-09-04 21:52 落笔映惆怅丶 阅读(707) 评论(0) 推荐(0) 编辑