自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 图论:图的储存(邻接矩阵,邻接表)

图,看起来是一种很高大上的结构(实际也是),其实非常的好理解。以下是一些不怎么专业的专业术语:顶点 图中存储的元素或节点 边 连接两个顶点的路径,分为有向边(只能从一点到另一点)和无向边(两点之间可以互相来往,有箭头) 自环 一个边连接的两个顶点相同 重边 两个顶点之间有两条及以上的边连接 简单图 没有自环和重边的图 无向图 由顶点和无向边构成的图 有向图 有顶点和有向边构成的图 顶点的度 包含这个顶点的边的数量 顶点的

2021-09-14 16:31:54 276

原创 【搜索/回溯】数字排列问题(全排列问题)

【题目部分】列出所有从数字式1到数字n的连续自然数的排列,要求所产生的任一数字序列中不允许出现重复的数字。输入n(1<=n<=9)输出由1~n组成的所有不重复的数字序列,每行一个序列,每个数字场宽为5。输入样例 13输出样例 1 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1全排列问题是回溯算法的基..

2021-08-17 14:59:18 816

原创 【map】Winner

描述:The winner of the card game popular in Berland "Berlogging" is determined according to the following rules. If at the end of the game there is only one player with the maximum number of points, he is the winner. The situation becomes more difficult i.

2021-08-16 15:58:08 143

原创 【map】集合的前N个元素

【题目部分】  编一个程序,按递增次序生成集合M的最小的N个数,M的定义如下:(1)数1属于M;(2)如果X属于M,则Y=2X+1和Z=3X+1也属于M;(3)此外再没有别的数属于M。(4)集合意味着重复的数只算一次。输入输入一个整数n.(n <= 10000)输出输出该集合的前n个整数。数的场宽设为8.每行五个数。输入样例 13输出样例 1 1 3 4在map中,元素按关键字排序,因此可以写出如下程序...

2021-08-15 13:46:09 565

原创 【STL】【map】树木统计

描述在我国,大片的森林里面有着许多不同种类的树木。现在,国家林业局需要统计某片森林里,某种种类的树木占所有树木数量的百分比。输入数据输入为通过卫星观察到的我国某片森林的树木种类名单,每行一个字符串,表示一棵树的树木种类名称,树木种类名称不超过30个字符,中间可能有空格,头尾没有空格,字符包括字母、数字等可见字符,数据中有不超过10,000种不同的树木种类,和不超过1,000,000棵的树。输出对于每组测试数据,按字典序输出所有不同的树木种类名称,紧跟着该种类的树木占所有树木数量.

2021-08-15 13:39:18 390

原创 STL【map】

Map是c++的一个标准容器,她提供了很好一对一的关系,每对的第一个值称之为关键字(key),每个关键字只能在map中出现一次;第二个称之为该关键字的对应值;在一些程序中建立一个map可以起到事半功倍的效果。map的构建:#include<map>int main(){ //map构建格式:map<数据类型,数据类型> 名称; map<int,int> mpl1; map<string,int> mpl2;

2021-08-15 13:33:51 86

原创 STL栈(stack)

怎么说呢,栈和队列都很简单,只需要理解,再看看有关函数,基本上你就会用了qwq。【栈】栈的基本操作现给定一组栈(maxlenth<=300)的操作,要求按顺序输出出栈的数,和最终留在栈里的数。操作说明:1、如果是入栈,则有两个数,第一个数是入栈标识数:1,第二个数是入栈的数;2、如果是出栈,则只有一个出栈标识数:2输入输入为一行数,以0结尾。(数的格式同操作说明)输出输出有多行。第一行按顺序输出出栈的数;无则输出空行;如果出现栈满并且还有数据进栈则

2021-08-15 12:35:22 1269

原创 STL单向队列(queue)

太简单了自己学qwq【题目部分】现给定一组队列(假定该队列最多存300个数据)的操作,要求按顺序输出出队的数,和最终留在队里的数。操作说明:1、如果是入队,则有两个数,第一个数是入队标识数:1 ,第二个数是入队的数;2、如果是出队,则只有一个出队标识数:2输入输入为一行数,以0结尾。(数的格式同操作说明)输出输出有若干行。输出的第一行,若有出队的数据,则第一行按顺序输出出队的数;若没有出队数据,则输出一个空行;输出的第二行有以下几种情况:如果出现队满

2021-08-14 10:34:09 177

原创 【约瑟夫问题】【队列】平凡的约瑟夫(Ordinary Josephus)

描述n个人围成一圈,编号分别为从1到n.从第1个人开始报数,数到2的人出列,再由下一个人重新从1开始报数,数到2的人再出列,……依次类推,直到只剩下一个人.请输最后一个人的编号.(n<=100000)输入一个整数n输出若有解,则输出最后一个人的编码f(n)若无解,则输出"No Solution."输入样例 13输出样例 13这道题看起来很简单,但是n的大小让人汗颜,可能用循环链表都会超时。那用队列怎么样?用队列做约瑟夫问题是我上..

2021-08-14 10:27:05 134

原创 【循环链表】猴子选大王(约瑟夫问题)

描述  有n只猴子围成一圈,每个有一个编号,编号从1到n。打算从中选出一个大王。经过协商,决定选大王的规则如下:从第一只开始,每隔m只,数到的猴子出圈,最后剩下来的就是大王。输入输入为一行两个数,即n,m。输出输出最后剩下来的猴子序号。输入样例8 4输出样例6循环链表是指最后一个空间指向头节点的链表类型,可以用于需要在多个数据之间来回循环的题目,比如约瑟夫问题(上面这道就是约瑟夫问题的改版)。普通约瑟夫问题可以用数组做,如上面这道题,用数组做就是这样:..

2021-08-14 09:47:02 1868

原创 【指针&链表】数组合并

描述在军训的最后一次演练中,连长要把所有的队伍从低到高都排成一队,为了缩短时间,他让每个排进行两两有序合并,合并后的队伍再进行两两合并,以此类推,直至只剩下一个队伍。当然这工作不是很好做,为此,连长找到学编程的你,让你帮忙编一个程序,按要求把两个队伍有序合并成一个队伍。(为了简便,每个队的队员的身高用整数表示)输入输入有两行有序的数,均以0结尾。输出输出合并后的有序的数输入样例:1 3 4 6 7 9 02 5 8 10 0输出样例:1 2 3 4.

2021-08-14 09:15:41 139

原创 STL单向链表(list)

先来看一道简单的题:给你n个数,然后有m次删除操作:删除指定位置的值。问:最后剩下哪些数? n≤100000,m≤n 。保证输入的删除位置是合法的。样例输入:104 3 5 7 4 3 2 67 8 565 3 5 6 1 2输出:3 3 67 5这题用数组做,估计是要超时了。数组的特点是连续存储,很好理解,要访问数组的某个单元非常方便,直接用a[i]就可以获取到i单元的值。访问某个单元的时间是0(1),缺点是删除某个单元的值,后面单元的数据往前移动需要o(n)的

2021-08-13 20:10:29 633 1

原创 STL结构体(struct)

qwqwwwqqq

2021-08-11 20:17:55 353 2

空空如也

空空如也

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

TA关注的人

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