自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 【蓝桥杯】全球变暖--第九届蓝桥杯省赛C++A/B组--BFS宽搜

全球变暖--BFS解法 你有一张某海域 N×N 像素的照片,”.”表示海洋、”#”表示陆地,如下所示: ....... .##.... .##.... ....##. ..####. ...###. ....... 其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿,例如上图就有 2 座岛...

2020-02-27 17:35:36

阅读数 23

评论数 0

原创 【宽搜】地牢大师--又一个基本的宽搜

你现在被困在一个三维地牢中,需要找到最快脱离的出路! 地牢由若干个单位立方体组成,其中部分不含岩石障碍可以直接通过,部分包含岩石障碍无法通过。 向北,向南,向东,向西,向上或向下移动一个单元距离均需要一分钟。 你不能沿对角线移动,迷宫边界都是坚硬的岩石,你不能走出边界范围。 请问,你有可能逃脱吗?...

2020-02-26 22:27:34

阅读数 5

评论数 0

原创 【蓝桥杯】完全二叉树的权值--第十届蓝桥杯省赛C++A/B组

给定一棵包含 N 个节点的完全二叉树,树上每个节点都有一个权值,按从上到下、从左到右的顺序依次是 A1,A2,⋅⋅⋅AN,如下图所示: 现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点权值之和最大? 如果有多个深度的权值和同为最大,请你输出其中最小的深度。 注:根的深度是 1。 ...

2020-02-26 16:34:42

阅读数 32

评论数 0

原创 【DFS、BFS】红与黑--基本的深搜、宽搜

有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。 你站在其中一块黑色的瓷砖上,只能向相邻(上下左右四个方向)的黑色瓷砖移动。 请写一个程序,计算你总共能够到达多少块黑色的瓷砖。 输入格式 输入包括多个数据集合。 每个数据集合的第一行是两个整数 W 和 H,分别表示 x 方向和 y 方向...

2020-02-21 23:07:43

阅读数 8

评论数 0

原创 【蓝桥杯】交换瓶子--第七届蓝桥杯省赛C++B组

图 有 N 个瓶子,编号 1∼N,放在架子上。 比如有 5 个瓶子: 2 1 3 5 4 要求每次拿起 2 个瓶子,交换它们的位置。 经过若干次后,使得瓶子的序号为: 1 2 3 4 5 对于这么简单的情况,显然,至少需要交换 2 次就可以复位。 如果瓶子更多呢?你可以通过编程来解决。 输入格...

2020-02-20 19:35:37

阅读数 17

评论数 0

原创 【BFS】献给阿尔吉侬的花束

阿尔吉侬是一只聪明又慵懒的小白鼠,它最擅长的就是走各种各样的迷宫。 今天它要挑战一个非常大的迷宫,研究员们为了鼓励阿尔吉侬尽快到达终点,就在终点放了一块阿尔吉侬最喜欢的奶酪。 现在研究员们想知道,如果阿尔吉侬足够聪明,它最少需要多少时间就能吃到奶酪。 迷宫用一个 R×C 的字符矩阵来表示。 字符 ...

2020-02-19 21:17:49

阅读数 6

评论数 0

原创 【蓝桥杯】日志统计--第九届蓝桥杯省赛C++B组

小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有 N 行。 其中每一行的格式是: ts id 表示在 ts 时刻编号 id 的帖子收到一个”赞”。 现在小明想统计有哪些帖子曾经是”热帖”。 如果一个帖子曾在任意一个长度为 D 的时间段内收到不少于 K 个赞,小明就认为这个帖子...

2020-02-18 21:12:23

阅读数 17

评论数 0

原创 数列区间最大值--线段树

输入一串数字,给你 M 个询问,每次询问就给你两个数字 X,Y,要求你说出 X 到 Y 这段区间内的最大数。 输入格式 第一行两个整数 N,M 表示数字的个数和要询问的次数; 接下来一行为 N 个数; 接下来 M 行,每行都有两个整数 X,Y。 输出格式 输出共 M 行,每行输出一个数。 数据范围...

2020-02-15 22:50:44

阅读数 6

评论数 0

原创 动态求连续区间和--树状数组与线段树

树状数组和线段树,这玩意吧,我也整不明白具体的东西,反正是记住了树状数组的这三个关键的函数 给定 n 个数组成的一个数列,规定有两种操作,一是修改某个元素,二是求子数列 [a,b] 的连续和。 输入格式 第一行包含两个整数 n 和 m,分别表示数的个数和操作次数。 第二行包含 n 个整数,表示完整...

2020-02-13 10:26:28

阅读数 7

评论数 0

原创 【蓝桥杯】外卖店优先级--第十届蓝桥杯省赛C++A组

“饱了么”外卖系统中维护着 N 家外卖店,编号 1∼N。 每家外卖店都有一个优先级,初始时 (0 时刻) 优先级都为 0。 每经过 1 个时间单位,如果外卖店没有订单,则优先级会减少 1,最低减到 0;而如果外卖店有订单,则优先级不减反加,每有一单优先级加 2。 如果某家外卖店某时刻优先级大于 5...

2020-02-13 10:21:13

阅读数 18

评论数 0

原创 【蓝桥杯】航班时间

小 h 前往美国参加了蓝桥杯国际赛。 小 h 的女朋友发现小 h 上午十点出发,上午十二点到达美国,于是感叹到“现在飞机飞得真快,两小时就能到美国了”。 小 h 对超音速飞行感到十分恐惧。 仔细观察后发现飞机的起降时间都是当地时间。 由于北京和美国东部有 12 小时时差,故飞机总共需要 14 小时...

2020-02-13 10:10:35

阅读数 10

评论数 0

原创 【蓝桥杯】日期问题

小明正在整理一批历史文献。这些历史文献中出现了很多日期。 小明知道这些日期都在1960年1月1日至2059年12月31日。 令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。 更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很...

2020-02-09 22:09:44

阅读数 9

评论数 0

原创 【蓝桥杯】移动距离

第六届蓝桥杯省赛C++B组 X星球居民小区的楼房全是一样的,并且按矩阵样式排列。 其楼房的编号为 1,2,3… 当排满一行时,从下一行相邻的楼往反方向排号。 比如:当小区排号宽度为 6 时,开始情形如下: 1 2 3 4 5 6 12 11 10 9 8 7 13 14 15 ......

2020-02-09 12:55:48

阅读数 4

评论数 0

原创 【蓝桥杯】回文日期

枚举、模拟 在日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。 牛牛习惯用 8 位数字表示一个日期,其中,前 4 位代表年份,接下来 2 位代表月份,最后 2 位代表日期。 显然:一个日期只有一种表示方法,而两个不同的日期的表示方法不会相同。 牛牛认为,一个日期是回文的,当且仅当...

2020-02-08 11:15:34

阅读数 13

评论数 0

原创 【蓝桥杯】错误票据

枚举,模拟 某涉密单位下发了某种票据,并要在年终全部收回。 每张票据有唯一的ID号。 全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。 你的任务是通过编程,找出断号的ID和重号的ID。 假设断号...

2020-02-08 11:07:13

阅读数 19

评论数 0

原创 【蓝桥杯】特别的数的和

枚举,模拟 小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。 请问,在 1 到 n 中,所有这样的数的和是多少? 输入格式 共一行,包含一个整数 n。 输出格式 共一...

2020-02-06 16:20:20

阅读数 27

评论数 0

原创 【蓝桥杯】递增三元组

给定三个整数数组 A=[A1,A2,…AN], B=[B1,B2,…BN], C=[C1,C2,…CN], 请你统计有多少个三元组 (i,j,k) 满足: 1≤i,j,k≤N Ai<Bj<Ck 输入格式 第一行包含一个整数 N。 第二行包含 N 个整数 A1,A2,…AN。 第三行包含...

2020-02-06 16:12:47

阅读数 51

评论数 0

原创 【蓝桥杯】连号区间数

枚举、模拟 小明这些天一直在思考这样一个奇怪而有趣的问题: 在 1∼N 的某个排列中有多少个连号区间呢? 这里所说的连号区间的定义是: 如果区间 [L,R] 里的所有元素(即此排列的第 L 个到第 R 个元素)递增排序后能得到一个长度为 R−L+1 的“连续”数列,则称这个区间连号区间。 当 N ...

2020-02-06 15:56:01

阅读数 9

评论数 0

原创 【正则表达式】初识正则表达式

初识正则表达式 学Java介绍String类的时候说到过他的一个split()方法,老师说这个函数要传一个参数,返回一个根据参数把字符串分割成一个字符数组,其实这传入的就是一个正则表达式。 正则表达式就是用一种方式来描述一个字符串,然后用来进行匹配。比如说:我要找一个数,他可能在最前面有一个负号 ...

2020-02-03 12:42:41

阅读数 29

评论数 0

原创 【哔哩哔哩笔试】顺时针打印数字矩阵

顺时针打印数字矩阵 给定一个数字矩阵,请设计一个算法从左上角开始顺时针打印矩阵元素 输入描述 输入第一行是两个数字,分别代表行数M和列数N;接下来是M行,每行N个数字,表示这个矩阵的所有元素;当读到M=-1,N=-1时,输入终止。 输出描述: 请按逗号分割顺时针打印矩阵元素(注意最后一个元素...

2020-01-31 12:33:12

阅读数 21

评论数 0

原创 【网易校招】数对--数学

题目描述 牛牛以前在老师那里得到了一个正整数数对(x, y), 牛牛忘记他们具体是多少了。 但是牛牛记得老师告诉过他x和y均不大于n, 并且x除以y的余数大于等于k。 牛牛希望你能帮他计算一共有多少个可能的数对。 输入描述: 输入包括两个正整数n,k(1 <= n <= 10^5, 0...

2020-01-30 09:53:28

阅读数 123

评论数 0

原创 【蓝桥杯】饮料换购--数学

乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。 请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的 n 瓶饮料,最后他一共能喝到多少瓶饮料。 输入格式 输入一个整数 n,表示初始买入的饮料数量...

2020-01-29 10:43:08

阅读数 8

评论数 0

原创 【蓝桥杯】蚂蚁感冒--数学

长 100 厘米的细长直杆子上有 n 只蚂蚁。 它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是 1 厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有 1 只蚂蚁感冒了。 并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离...

2020-01-29 10:40:35

阅读数 9

评论数 0

原创 【Java】Foreach循环与迭代器

增强形for循环 List<String> list = new ArrayList<String>(); for(String s : list) System.out.println(s); 这么写就会遍历这个list 输出里面的全部字符串 那么他是怎么完成这个工作...

2020-01-23 11:52:00

阅读数 7

评论数 0

原创 【前缀和】蓝桥杯-K倍区间

给定一个长度为 N 的数列,A1,A2,…AN,如果其中一段连续的子序列 Ai,Ai+1,…Aj 之和是 K 的倍数,我们就称这个区间 [i,j] 是 K 倍区间。 你能求出数列中总共有多少个 K 倍区间吗? 输入格式 第一行包含两个整数 N 和 K。 以下 N 行每行包含一个整数 Ai。 输出格...

2020-01-20 22:05:01

阅读数 14

评论数 0

原创 【Java】【多态】构造器的执行是你想象的那样么?

构造器和多态 构造器的调用顺序 首先,我们知道构造器是为了能够给对象正确的进行初始化赋值使用的,为了能够生成一个正确的对象;如果只是一个类,那么构造器在创建对象的时候调用,不会出现什么匪夷所思的事情,但是如果有了相关的继承关系 基类的构造器总是在导出类的构造过程中被调用,而且按照继承层次逐渐向上链...

2020-01-20 15:32:58

阅读数 8

评论数 0

原创 【Java】final关键字

你真的了解final关键字了么? 许多编程语言都有某种方法来告诉编译器有一块数据是恒定不变的,Java中就是通过final关键字来实现; 1、一个永不改变的编译时常量 2、一个在运行时被初始化的值,而你不希望他被改变 也就是说这个恒定不变的数值不一定一定得是在编译时就定死了的,也有可能是在运行时期...

2020-01-19 16:42:47

阅读数 25

评论数 0

原创 【网络原理】数据链路层

复习的笔记,如有错误欢迎指正     数据链路层,什么是数据链路呢,一条网线(物理线路)我们叫做一个链路,在上面加上相关的协议,就称他为一个数据链路。在数据链路上传输的基本单位我们称之为:帧     数据链路层的三个...

2020-01-17 21:19:23

阅读数 46

评论数 0

原创 162.寻找峰值【二分】

峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。 数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。 你可以假设 nums[-1] = nums[n] = -∞。 示例 1: 输入: num...

2020-01-14 11:40:43

阅读数 7

评论数 0

原创 74.搜索二维矩阵【二分】

编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 示例 1: 输入: matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23...

2020-01-14 11:25:19

阅读数 6

评论数 0

原创 【博弈论】巴什博奕

故事是这样的 小涵对小李说我们来玩一个拿球游戏,你说桌子上有多少个球,每次可以拿1到3个球,最后谁拿光桌子上的球谁就赢了 小李:30个球,你先拿 小涵:2个(剩28) 小李:1个(剩27) 小涵:3个(剩24) (青蛙开始感觉水温不太对) 小李:3个(剩21) 小涵:1个(剩20) 小李:2个(剩...

2020-01-05 13:12:29

阅读数 34

评论数 0

原创 Java内存模型与线程

今天就来跟你一块知道知道Java内存模型 内容参考自《深入理解Java虚拟机》   在大二的Java课程中知道了简单的Java线程相关知识,感觉挺有意思的,当时还买了本《Java并发编程实战》,但是后来发现自己底子实在是太薄,很多东西看不明白,了解了Java内存模型之后对这方面也会有了一定的帮...

2020-01-04 14:06:30

阅读数 13

评论数 0

原创 34. 在排序数组中查找元素的第一个和最后一个位置

给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例 1: 输入: nums = [5,7,7,8,8,10], target ...

2020-01-02 21:29:46

阅读数 87

评论数 1

原创 听说你也想知道_Java垃圾回收算法

今天就跟你一块知道知道垃圾回收算法 内容参考《深入理解Java虚拟机》 要谈垃圾回收,首先我们得知道究竟谁是垃圾? 垃圾回收主要关注的是堆中的内存,而堆中存放的是各种各样的的对象实例,也就是说,我们要找到那些已经“死掉”的对象,怎么判断对象死没死呢,有一种非常简单理解的算法—引用计数算法 给对...

2020-01-02 21:05:10

阅读数 106

评论数 0

原创 【算法】听说你还不懂_前缀和

今天就让你知道知道啥叫前缀和 算是一个比较简单的思想了 是为了在解决数组中,快速的求得一段区间的所有元素的和是多少 前缀和数组中放的就是前面所有元素的和 这样查找某一段的时候直接S[R] - S[L-1]就好了 举个栗子 有一个数组 int a[5]: 1 2 3 4 5 那么对应的前缀和数组就...

2020-01-02 19:46:24

阅读数 118

评论数 1

原创 蓝桥杯--分巧克力【二分查找】

儿童节那天有 K 位小朋友到小明家做客。 小明拿出了珍藏的巧克力招待小朋友们。 小明一共有 N 块巧克力,其中第 i 块是 Hi×Wi 的方格组成的长方形。 为了公平起见,小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。 切出的巧克力需要满足: 形状是正方形,边长是整数 大小相同 例如...

2020-01-01 17:15:35

阅读数 87

评论数 0

原创 蓝桥杯--四平方和

四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多 4 个正整数的平方和。 如果把 0 包括进去,就正好可以表示为 4 个数的平方和。 比如: 5=02+02+12+22 7=12+12+12+22 对于一个给定的正整数,可能存在多种平方和的表示法。 要求你对 4 个数排序: 0≤a≤...

2020-01-01 16:49:41

阅读数 81

评论数 0

原创 【二分】机器人跳跃问题

机器人正在玩一个古老的基于DOS的游戏。 游戏中有N+1座建筑——从0到N编号,从左到右排列。 编号为0的建筑高度为0个单位,编号为 i 的建筑高度为H(i)个单位。 起初,机器人在编号为0的建筑处。 每一步,它跳到下一个(右边)建筑。 假设机器人在第k个建筑,且它现在的能量值是E,下一步它将跳到...

2020-01-01 14:48:59

阅读数 104

评论数 0

原创 Java虚拟机—Java内存区域与内存溢出异常

运行时数据区域 Java虚拟机管理的内存包括以下几个运行时数据区域 (图片来自《深入理解JVM虚拟机》) 程序计数器 就是当前线程所执行的字节码的行号指示器,标记了当前线程执行到了哪一行指令,是为了确保线程切换之后能恢复到刚才执行的位置,每个线程都会有一个独立的程序计数器,是线程私有的内存;如果...

2019-12-31 15:19:14

阅读数 10

评论数 0

原创 翻硬币-蓝桥杯

小明正在玩一个“翻硬币”的游戏。 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。 比如,可能情形是:**oo***oooo 如果同时翻转左边的两个硬币,则变为:oooo***oooo 现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻...

2019-12-26 15:57:34

阅读数 24

评论数 0

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