自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

劭星の博客

向每一位OIer致敬

  • 博客(15)
  • 收藏
  • 关注

原创 基础算法——前缀和

前缀和是解决区间问题的一个基础手段,前缀和的思想也可以用来解决一些其他的问题 那么前缀和到底是什么呢? 目录 例题引入 解决方法: 1.朴素解法(暴力出奇迹) 2.前缀和 3.线段树(还有一些乱七八糟dalao的解法) 前缀和 1.思想 2.代码 3.二维前缀和 例题引入 给定一个数列an,再有Q次的询问,每次询问给出两个区间的端点l,r,请你求出这一段区间所有数之和 ...

2019-11-13 23:56:16 853 2

原创 基础算法——快速幂(模)

参考blog:https://blog.youkuaiyun.com/u012469987/article/details/38158687 目录 引言 例题 题目描述: 解法: 1.朴素解法(爆炸必备良品) 2.快速幂与快速幂模 2.1递归形式 2.2二进制形式 2.3快速幂模 引言 快速幂可以说是信息学竞赛里面一个基础的考点了 快速幂的代码不是很长,但是需要学习它的思想 ...

2019-11-13 22:47:55 1517

原创 矩阵乘法(加快速幂)

参考文献:《算法导论》、dalao的blog 我真的觉得本篇良心,大大干货 引言: 题目: 斐波那契数列很喜欢被研究,其前几项为:1 1 2 3 5 8 13 …… 则,求斐波那契数列的第n项是? 解法: 1.朴素求解: 由斐波那契数列的定义,可以由递推求解 f(1)=1,f(2)=1 f(n)=f(n-1)+f(n-2) (n>=3) f[1]=f[2]=1;...

2019-11-10 22:14:24 425

原创 友情链接——通往dalao的博客

Big Yellow Dog(zqx)wangyixin

2019-10-09 23:30:01 204

原创 三分算法(秦九韶算法补充)

目录 介绍: 问题引入: 补充:秦九韶算法 解法: 三分 思路:(以上凸函数为例,下凸函数反之) 代码: 一、函数为上凸函数 二、函数为下凸函数 模板题: 介绍: 说起三分,肯定要提到三分的近亲——二分。 回顾一下二分是什么:对于一个区间,求得其目标(可以是最值),我们可以采取折半查找,若一边的条件不满足,则继续向另外一边折半下去,直到l==r(有些时候有误差),此时的m...

2019-10-08 17:34:19 721

原创 浅谈KMP算法

目录 算法由来(历史课) 问题引入 解法: (1)暴力解法 (2)玄学解法 KMP算法: 开始前你必须知道的: next数组: 思路: 代码: KMP算法: 思路: 代码: 模板题: KMP算法是一种快速的匹配字符子串位置的算法,其思想对于其他一些算法也有沿用 算法由来(历史课) KMP算法是由D.E.Knuth,J.H.Morris和V.R.Prat...

2019-10-07 22:20:01 267

原创 数据结构——Trie树(字典树)

目录 一、什么是字典树 问题引入: 解法 1.暴力 2.奇奇怪怪的解法 二、字典树 1.思路 2.基本操作 (1)更新 update (2)查找 find 3.思考 三、模板题 一、什么是字典树 问题引入: 有n个字符串,每个字符串都由26个小写英文字母构成,现在请求出这些字符串的最长前缀 输入样例: 3 exit apple exford 输出样例:...

2019-10-05 13:46:33 436

原创 数据结构-线段树(二)

目录 懒标记 “懒”标记の介绍 “懒”标记の好处 “懒”标记的定义方式 区间更新 区间更新 思想 题目练习 题目の练习 在此之前,我们先引入一个概念—— “懒”标记の介绍 懒标记的作用,就是维护每一个节点的参数 懒标记顾名思义,就是要懒嘛!这里的懒是运用拟人的手法,懒标记就是记录当前状态,在更新操作的时候将这个状态下传 形象地说,懒标记就像寄存包裹一样,先把这...

2019-07-19 18:52:49 336

原创 2019辞旧迎新模拟赛--题解报告

2019辞旧迎新模拟赛——题解报告 劭星 第一题:rmq问题(乱搞) 30分做法:暴力枚举 假定查询L,R最值 代码如下: for(int i=l;i<=r;i++) { maxx=max(a[i],maxx); minn=min(a[i],minn); }   满分做法: 什么分块啊、树状数组啊、线段树啊……都可以 反正这儿没有设定太严格的空间限制     ...

2019-02-09 16:06:53 365

原创 数据类型-类(一)

会更好

2019-02-09 15:01:50 639

原创 2019辞旧迎新模拟赛--正式版

难度:普及+/提高- 出题人:劭星 第一题为签到题,保证有分 。 。 。 。 题目名称 文件名 输入文件 输出文件 时间限制 空间限制

2019-02-08 21:16:07 223

原创 思维开发题——下一个排序

最近从《编程谜题》上面看到一道很有意思的题目,这里摘录一下大意: 题目概述: 有n组数据,每组数据给出m和m个数(每个数之间用空格隔开),这m个数组成一个m位数,请你求出下一个比当前m位数大的排列组成的m位数 若是没有,请输出-1 输入样例: 2 4 1 2 3 4 3 3 2 1 输出样例: 1243 -1 ...

2018-12-12 21:36:30 319

原创 hdu1541 stars 线段树题解-还算比较好理解的吧

题目大意: 有n颗星星,每一颗星星都有一个坐标,对于这颗星星左下方(包括正下方和正左方)有k颗星星,就说这颗星星是k等级的星星。现在叫你求出每个等级各有多少颗星星。 输入保证每颗星星的纵坐标升序排列 (上面这句话很重要) 输入样例: 5 1 1 5 1 7 1 3 3 5 5 输出样例: 1 2 1 1 0 先贴代码: #include <iostream> #include <...

2018-12-07 10:45:56 422

原创 数据结构-线段树(一)

参考博客:膜拜dalao由此进 问题引入:RMQ问题: 题目概述 给定序列a,对于m次询问,每个询问给定x和y,求[x,y]的最大最小值 输入样例: 第一行:两个数n,m表示a的长度和m次询问 接下来一行,n个数,为序列n 接下来m行,每行两个数x,y表示区间范围 5 3 3 5 7 9 6 1 3 2 3 1 5 输出样例 共m行 每一行两个数,maxx和minn,分别表示该次询问的最大最小值 ...

2018-12-01 23:37:32 302

原创 分块算法总结

分块 分块算法顾名思义,就是将一个序列分成若干个部分(块)来解决 线段树也可以解决分块的问题,但这里只介绍分块算法 解决问题: 说是分块,那么一共要分几块呢? 据机房dalao说,分成sqrt(n)为每块长度 这样一来,假设有n个元素的序列,就有 ceil(n/sqrt(n)) 块 核心的数据结构: struct Block{ int l,r;//块的左右区间端点 int ta...

2018-09-09 17:21:25 949

空空如也

空空如也

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

TA关注的人

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