摘要: CDQ分治 CDQ分治,传说中是一个神犇创造的算法。 在了解这种算法之前,我们有必要了解一下一种基本的思想:分治。 分治介绍 分而治之,将原问题不断划分成若干个子问题,直到子问题规模小到足以直接解决 子问题间互相独立且原问题形式相同,递归求解这些子问题,然后将各子问题的解合并得到原问题的解 一般步骤 阅读全文
posted @ 2022-02-11 21:19 PassName 阅读(653) 评论(0) 推荐(0) 编辑
摘要: 区间DP 一、问题 给定长为n的序列a[i],每次可以将连续一段回文序列消去,消去后左右两边会接到一起,求最少消几次能消完整个序列,n≤500。 f[i][j]表示消去区间[i,j]需要的最少次数。 则 若a[i]=a[j],则还有 这里实际上是以区间长度为阶段的,这种DP我们通常称为区间DP。 区 阅读全文
posted @ 2022-02-11 21:17 PassName 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 单调队列优化DP 其实单调队列就是一种队列内的元素有单调性(单调递增或者单调递减)的队列,答案(也就是最优解)就存在队首,而队尾则是最后进队的元素。因为其单调性所以经常会被用来维护区间最值或者降低DP的维数已达到降维来减少空间及时间的目的。 单调队列的一般应用: 维护区间最值 优化DP 优化方法加样 阅读全文
posted @ 2022-02-11 21:17 PassName 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 在程序中使用static 变量 1. 局部变量 普通局部变量是再熟悉不过的变量了,在任何一个函数内部定义的变量(不加static修饰符)都属于这个范畴。编译器一般不对普通局部变量进行初始化,也就是说它的值在初始时是不确定的,除非对其显式赋值。 普通局部变量存储于进程栈空间,使用完毕会立即释放。 静态 阅读全文
posted @ 2022-02-11 21:16 PassName 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 什么是记忆化搜索? 搜索的低效在于没有能够很好地处理重叠子问题;动态规划虽然比较好地处理了重叠子问题,但是在有些拓扑关系比较复杂的题目面前,又显得无奈。记忆化搜索正是在这样的情况下产生的,它采用搜索的形式和动态规划中递推的思想将这两种方法有机地综合在一起,扬长避短,简单实用,在信息学中有着重要的作用 阅读全文
posted @ 2022-02-11 21:15 PassName 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 数学角度 迭代公式代码解决问题 常用模板 for(int len=1;len<=n;len++) for(int L=1;L+len-1<=n;L++) R=l+Len-1; 对于一个迭代问题,首先可以考虑的是是不是可以打表。打表的实质就是针对输入数据的组合数很小的情况(或者是中间某个数值)下,解决 阅读全文
posted @ 2022-02-11 21:14 PassName 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 状态机模型 我们知道,一般编写程序时都要画出流程图,按照流程图结构来编程,如果编写一个比较繁琐,容易思维混乱的程序时,我们可以利用有限状态机模型画出一个状态转移图,这样便可以利用画出的逻辑图来编写程序,简洁且不易出错。 那什么是有限状态机是什么意思呢?百度百科上这样解释: 有限状态机,(英语:Fin 阅读全文
posted @ 2022-02-11 21:13 PassName 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 背包模型 背包问题就是考察对模型的应用。 先给几个模型: 多重背包问题 有 N 种物品和一个容量是 V 的背包。 第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。 输出最大价值。 输入格式 第一行两个整数,N, 阅读全文
posted @ 2022-02-11 21:12 PassName 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 动态规划(提高) 这玩意本质上和我前面所写的动态规划是差不多的,但是在体型,难度和思维上进行了提升,在我以后所记录的所有提高算法都是这个道理。 数字三角形模型 数字三角形模型是一个比较简单的DP模型,而且在这个模型中,用闫氏DP分析法可以很好的解决。 Hello Kitty想摘点花生送给她喜欢的米老 阅读全文
posted @ 2022-02-11 21:11 PassName 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 前言 很多人觉得贪心算法就是个基础算法,十分的简单,实际上想真正学好贪心是很难的。y总说过,贪心的不确定性让贪心的难度超越了图论和动态规划。接下来这些贪心的内容可能会颠覆你的世界观(AcWing的同学可以划走了)。 区间问题 区间问题是贪心算法的一个小版块,一个看似简单实际恶心的玩意。它的方法就是做 阅读全文
posted @ 2022-02-11 21:10 PassName 阅读(128) 评论(0) 推荐(0) 编辑