
算法进阶指南
Simod chen
这个作者很懒,什么都没留下…
展开
-
IncDec序列——差分序列的运用
只要有这种对一定区域进行统一加减的题目,首先考虑到差分。这一道题的思路就比较简单了,首先如果你想确定l和r的区间,但是你发现,这个区间是不确定的,但是对一个差分序列在[l,r]的区间进行统一加减就代表了在差分数列b[l+1]++,b[r]--这个操作就可以在原先的某个区域进行加减同一个数的操作下面是我的代码具体看代码再理解。#include<iostream>#in...原创 2019-03-05 20:24:54 · 400 阅读 · 0 评论 -
二维前缀和——激光炸弹 算法进阶指南
这个题让求在一个二维的图表内,计算边长为R的正方形的总价值这个题就是反复对这个思路的运用 首先将每一点的与(0,0)所围成的面积的权重求出来g[i][j]+=g[i-1][j]+g[i][j-1]-g[i-1][j-1]然后下一步就是挨个计算面积为R的平方的处在该区域的各个地方的权值。int res=0;res=max(res,g[i-R][j]+g[i][j-R]-...原创 2019-03-04 18:57:26 · 339 阅读 · 0 评论 -
算法进阶指南,火车进出栈问题
这是算法进阶指南上面的题目,然后这道题需要用到卡特兰数,具体什么是卡特兰数下面是百度得来的:出栈次序一个栈(无穷大)的进栈序列为1,2,3,…,n,有多少个不同的出栈序列? [5-6]常规分析首先,我们设f(n)=序列个数为n的出栈序列种数。(我们假定,最后出栈的元素为k,显然,k取不同值时的情况是相互独立的,也就是求出每种k最后出栈的情况数后可用加法原则,由于k最后出栈,因此,在...原创 2019-04-07 15:44:03 · 1149 阅读 · 0 评论 -
单调栈——发射站
从题目来分析,首先该题目有两个特别的性质,两边最近:多熟悉几次栈同学们就可以有着很明显的感觉,就是这道题要用到简单的数据结构的知识的知识第二个就是比他高,尝试带入单调性,所以显然,这道题考的就是单调栈的知识运用到单调栈那么这道题就变得清晰了,分为两种情况:1、如果下一座塔比当前栈顶的塔的高度低,那么当前栈顶就要吸收来的塔的能量2、如果下一座塔比当前栈顶的塔的高度高,那么就破坏...原创 2019-04-09 14:55:48 · 425 阅读 · 0 评论 -
双端队列之单调队列——基本数据结构
看到题目我们可以从题目中获取部分关键信息,首先它时要求给定的区域时最小的,其次又是区间最优,通过最优我们可以想到单调性,切记:我们这里的单调条件就是:名画种类递增!废话不多说,贴上代码:#include <iostream>#include <deque>using namespace std;const int N = 1e6+100;co...原创 2019-04-12 17:15:15 · 618 阅读 · 0 评论