自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 图论基础------存储与查询

图论 (graph) ,其实就是把很多个相同的事物抽象为一个个点,把它们之间的关系抽象为一条边,从而组成一张图。比如我们熟悉的树,他就是一张图。图分为无向图和有向图,他们分定义分别如下:无向图:两个点之间的一条边没有规定方向,比如: A 点与 B 点之间有一条路径,那么可以从 A 点到 B 点,也可以从 B 点到 A 点。也就是说这条路是双行道。有向图:两个点之间的边可能有多条,并且规定了方向。A 到 B 有一条路径,A 可以从这条路到 B ,但是从 B 不可以到 A 。也就是像生活中的汽车单行

2020-07-29 20:57:01 399 1

原创 树状数组:区间修改,单点查询(详解)

我已经在上一篇博客 《树状数组:单点修改,区间查询(详解)》中介绍了树状数组,并且讲解了一道例题。今天就再来看一道题:题目描述给定数列 ,你需要依次进行 q个操作,操作有两类:1 l r x:给定 ,对于所有 ,将 加上 (换言之,将 分别加上 );2 i:给定 ,求 的值。输入格式:第一行包含 2 个正整数 ,表示数列长度和询问个数。第二行 n个整数 ,表示初始数列。接下来 q 行,每行一个操作,为以下两种之一:1 l r x:对于所有 ,将 a[r] 加上 x ;2 i :给

2020-07-26 21:49:09 794 1

原创 树状数组:单点修改,区间查询(详解)

问题的提出 :给定一个序列 a,可以进行两种操作:1 i x :给定 i , x, 将 a[i] 加上 x;2 l r :给定 l , r, 求 a[l] + a[l + 1] + ··· + a[r + 1] 的值(单点修改,区间查询)首先,我们会想到直接用一个现行的数组。那么单点修改的时间复杂度将是 O(1)O(1)O(1),但是区间查询的时间复杂度却是 O(n)O(n)O(n), 数据范围一大,就很有可能会超时。那么,又有人会想到用一个前缀和数组,但是有没有想过,虽然区间查询的时间复

2020-07-26 20:08:16 1106 1

原创 词典(map)题解

题目描述你旅游到了一个国外的城市。那里的人们说的外国语言你不能理解。不过幸运的是,你有一本词典可以帮助你。输入格式首先输入一个词典,词典中包含不超过100000个词条,每个词条占据一行。每一个词条包括一个英文单词和一个外语单词,两个单词之间用一个空格隔开。而且在词典中不会有某个外语单词出现超过两次。词典之后是一个空行,然后给出一个由外语单词组成的文档,文档不超过100000行,而且每行只包括一个外语单词。输入中出现单词只包括小写字母,而且长度不会超过10。输出格式在输出中,你需要把输入文

2020-07-25 20:54:43 2736 1

原创 STL------stack, queue(预习和复习)

学了STL,在此处做一些总结。常用的STL有如下几个:stackqueuepriority_queuepairsetmapvector下面让我们来分别了解一下前两个吧stackstack,翻译为栈。stack <int> s;//定义一个为 int,栈名为 s 的栈栈是一个先进后出的数组,它支持以下几种操作:pop(),用于弹出栈顶。top(),同于查询栈顶empty(),用于查询栈是否为空,是则返回1push(x),用于把 x 存入栈中例题讲解题

2020-07-25 20:32:44 226

原创 STL ------ priority_queue(预习和复习)

priority_queue与一个堆的实现是相同的,只不过它把 Put_Heap, Get_Heap 都简化了。它的定义如下:priority_queue <int> s;//定义一个名为 s 的大根堆假如说想要定义一个小根堆的话,可以这样:priority_queue <int, vector <int> , greater <int> > q //定义一个名字为 q 的小根堆priority_queue <int, vector <i

2020-07-25 20:32:15 138

原创 STL------map,vector(预习和复习)

map,翻译为映射。书上都说的不是很通俗(反正我是没看懂),它的作用如下:对于两个不同类型的变量之间建立一种联系,(就像搭了一座桥),调用的时候用迭代器实现,下面上代码。map <string, int> mp;//把一个 string 型的 数据映射成 int 型,在这里说可能不是很清楚,看下面的的例题哦~题目描述:博主yanglin英语非常不好,为了应对全国英文四级考试,他手里有一本英语字典,现在有很多单词要查。请编写程序帮助他(跪求)快速找到要查的单词所在的页码。输入描述

2020-07-25 20:31:54 298

原创 堆学习笔记(带有例题与详细讲解)

今天老师讲了一下堆,就在这里做一个小结吧~堆,其实可以把它理解为一棵完全二叉树。我们所见到和用到的堆大多数都是二叉堆,所以甚至有一些书上直接把二叉堆称为堆。堆在我们的脑海之中是一棵完全二叉树,但是他实际是用一个数组...

2020-07-20 22:04:37 283

原创 鱼塘钓鱼题解(堆解决)

建议全屏阅读这道题可以用 贪心 + 大根堆 来解决。先把题目放上来。描述有N个鱼塘排成一排(N<100),每个鱼塘中有一定数量的鱼,例如:N=5时,如下表:鱼塘编号 1 2 3 4 5每1分钟能钓到的鱼的数量(1..1000) 10 14 20 16 9每1分钟能钓鱼数的减少量(1..100) 2 4 6 5 3当前鱼塘到下一个相邻鱼塘需要的时间(单位:分钟)3 5 4 4即:在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼,第2分钟内只能钓到8条鱼,……,第5分钟以后再也钓不到

2020-07-20 21:08:53 1807 1

原创 分离与合体 题解(通俗易懂)

建议全屏阅读还是先把题目放上来吧~~经过在机房里数日的切磋,LYD 从杜神牛那里学会了分离与合体,出关前,杜神牛给了他一个测试……杜神牛造了 个区域,他们紧邻着排成一行,编号 。在每个区域里都放着一把 OI 界的金钥匙,每一把都有一定的价值,LYD 当然想得到他们了。然而杜神牛规定 LYD 不能一下子把他们全部拿走,而是每次只可以拿一把。为了尽快得到所有金钥匙,LYD 自然就用上了刚学的分离与合体特技。一开始 LYD 可以选择 中的任何一个区域进入,我们不妨把这个区域记为 。进入后 LYD 会在

2020-07-19 21:49:02 540

空空如也

空空如也

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

TA关注的人

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