自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2017年蓝桥杯省赛C++B组真题与题解

1 购物单题目:小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。 小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。取款机只能提供100元面额的纸币。小明想尽可能少取些现金,够用就行了。你的任务是计算出,小明最少需要取多少现金。以下是让人头疼的购物单,为了保护隐私,

2021-02-17 12:58:22 1885 5

原创 2016年蓝桥杯省赛C++B组真题与题解

1 煤球数目题目:有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形),第四层10个(排列成三角形), … 如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。题解:找规律可知,每一层的煤球数量都是前一层煤球数量加上当层层数,而且只用求最后100层共有的煤球数量,不用求出中间每一层,则可以设置两个量累加,一个量累加上一层的煤球数量加上当层层数,第二个量则累加每

2021-02-17 12:08:48 807 5

原创 2015年蓝桥杯省赛C++B组真题与题解

1 奖券数目题目:有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。请提交该数字(一个整数),不要写任何多余的内容或说明性文字。题解:求10000-99999中不含数字4的数的个数,将每个数字枚举逐个排除,代码如下:#include<iostream>

2021-01-30 15:01:04 741

原创 2014年蓝桥杯省赛C++B组真题与题解

1 啤酒和饮料本题可以用Excel逐个递推出答案,依次枚举啤酒的数量,减去啤酒花的钱之后剩余的钱除以饮料的价钱第一次能够除尽时,当前啤酒数量即为需要的答案。表格操作如下:2 切面条已知对折0次,得到2根面条;对折1次,得到3根面条;对折2次,得到5根面条,可推知对折n次,得到2n+1根面条,由表格可计算出对折10次,得到210+1=1025根面条。3 李白打酒已知初始状态酒数量为2,遇到店酒数量乘2,遇到花酒数量-1,共遇到店5次,遇到花10次,求李白遇到店和花次序的可能方案个数。计算方案数这类问

2021-01-20 22:11:34 926

原创 2013年蓝桥杯省赛C++B组真题与题解

2013年蓝桥杯省赛C++B组真题与题解1 高斯日记题目:大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。高斯获得博士学位的那天日记上标着:

2021-01-14 23:59:21 1186

原创 搜索与图论-Floyd、Prim、Kruskal-C++实现

Floyd求最短路-C++实现算法基本思想及步骤:1、在一个n个点,m条边的有向图中,进行k次询问,寻找从x到y的最短距离2、建立一个中转站“k”,枚举k,求x到k的最短距离与y到k的最短距离,其和与当前存储的x到y的最短距离取小,不断更新,以此得到x到y的最短距离题目关键点:多源汇最短路、暴力AcWing题库-854-Floyd求最短路题目给定一个n个点m条边的有向图,图中可能存在重边和自环,边权可能为负数。再给定k个询问,每个询问包含两个整数x和y,表示查询从点x到点y的最短距离,如果路

2020-11-07 09:51:41 185

原创 数据结构-KMP、Trie树、并查集-C++实现

数据结构-KMP、Trie树、并查集-C++实现

2020-11-07 09:07:03 178

原创 数据结构-单、双链表、栈与队列、单调栈与单调队列的数组实现-C++实现

数据结构-单、双链表、栈与队列、单调栈与单调队列的数组实现-C++实现单、双链表算法基本思想及步骤:1、用数组分别存储链表节点的值和next指针,双链表则是左右指针,存储当前使用的动态节点2、理解记背单、双链表插入和删除节点的原理和代码操作3、结合题目套入操作代码栈与队列、单调栈与单调队列算法基本思想及步骤:1、栈中的数先进后出,队列中的数先进先出2、栈只存储栈顶位置,每次对栈顶进行操作,队列需要存储队头和队尾,每次利用队头(hh)和队尾(tt)实现插入或弹出操作3、单调栈的维护,主要是对栈

2020-07-26 01:54:47 914

原创 基础算法-离散化与区间合并-C++实现

离散化-C++实现算法基本思想及步骤题目关键点AcWing-题库-802-区间和题目假定有一个无限长的数轴,数轴上每个坐标上的数都是0。现在,我们首先进行 n 次操作,每次操作将某一位置x上的数加c。接下来,进行 m 次询问,每个询问包含两个整数l和r,你需要求出在区间[l, r]之间的所有数的和。输入格式第一行包含两个整数n和m。接下来 n 行,每行包含两个整数x和c。再接下里 m 行,每行包含两个整数l和r。输出格式共m行,每行输出一个询问中所求的区间内数字和。数据范围−1

2020-07-26 01:38:34 659

原创 基础算法-双指针算法与位运算-C++实现

基础算法-双指针算法-C++实现算法基本思想及步骤题目关键点AcWing题库-799-最长连续不重复子序列题目给定一个长度为n的整数序列,请找出最长的不包含重复数字的连续区间,输出它的长度。输入格式第一行包含整数n。第二行包含n个整数(均在0~100000范围内),表示整数序列。输出格式共一行,包含一个整数,表示最长的不包含重复数字的连续子序列的长度。数据范围1≤n≤100000输入样例:51 2 2 3 5输出样例:3代码#include <iostream&g

2020-07-18 15:29:36 433

原创 基础算法-前缀和与差分-C++

差分-C++实现算法基本思想及步骤题目关键点AcWing题库-797-差分题目输入一个长度为n的整数序列。接下来输入m个操作,每个操作包含三个整数l, r, c,表示将序列中[l, r]之间的每个数加上c。请你输出进行完所有操作后的序列。输入格式第一行包含两个整数n和m。第二行包含n个整数,表示整数序列。接下来m行,每行包含三个整数l,r,c,表示一个操作。输出格式共一行,包含n个整数,表示最终序列。数据范围1≤n,m≤100000,1≤l≤r≤n,−1000≤c≤1000

2020-07-18 02:16:12 2345

原创 基础算法-高精度的加、减、乘、除运算-C++实现

高精度的加、减、乘、除运算-C++实现算法基本思想及步骤题目关键点AcWing题库-791-高精度加法题目给定两个正整数,计算它们的和。输入格式共两行,每行包含一个整数。输出格式共一行,包含所求的和。数据范围1≤整数长度≤1000000输入样例1223输出样例35C++代码在这里插入代码片AcWing题库-792-高精度减法AcWing题库-793-高精度乘法AcWing题库-794-高精度加法...

2020-07-10 09:46:07 508

原创 基础算法-二分-C++实现

二分-C语言算法基本思想和步骤二分:整数二分、浮点数二分整数二分:1.区间[l,r]被划分为[l,mid]和[mid+1,l]时中点mid设置为(l+r)/2,即mid满足性质(如q[mid]>=x,x为需要判定的数)改边界为[l,mid],mid不满足性质(如q[mid]<x)改边界为[mid+1,r],用于求左边界2.区间[l,r]被划分为[l,mid-1]和[mid,r]时中点mid设置为(l+r+1)/2,即mid满足性质改边界为[mid,r],mid不满足性质改边界为[l,mi

2020-07-08 12:30:50 1037

原创 基础算法-归并排序-C++实现

归并排序算法基本思想和步骤——分治思想1.确定分界点2.递归排序3.归并——合二为一题目关键点:分界点和递归区间的确定、递归后区间的总体排序整合AcWing题库-786-归并排序题目给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤1000

2020-07-06 21:48:14 233

原创 基础算法-快速排序-C++实现

快速排序算法基本思想和步骤——分治思想1.确定边界点和分界点2.调整区间3.递归处理左右两段题目关键点:边界的确定、区间的调整、调整后再递归AcWing题库-785-快速排序题目给定你一个长度为n的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤1000

2020-07-06 21:18:19 337

空空如也

空空如也

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

TA关注的人

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