C++数据结构——练习7-3 气球升起来
社区首页 (3633)




请编写您的帖子内容
社区频道(5)
显示侧栏
卡片版式
全部
交流讨论
每日算法打卡
博文收录
Ada助手
最新发布
最新回复
标题
阅读量
内容评分
精选

170
评分
回复


C++数据结构——练习7-3 气球升起来
HLOJ 9580,练习7-3 气球升起来程序设计竞赛时,赛场升起各色气球多么激动人心呀!志愿者送气球忙得不亦乐乎,观战的某人想知道目前哪种颜色的气球送出最多。输入格式:测试数据有多组,处理到文件尾。每组数据先输入一个整数n(0<n≤5000)表示分发的气球总数。接下来输入n行,每行一个表示颜色的字符串(长度不超过20且仅由小写字母构成)。输出格式:对于每组测试,输出出现次数最多的颜色。若出现并列的情况,则只需输出ASCII码值最小的那种颜色。输入样例:3pinkred
复制链接 扫一扫
分享

102
评分
回复


C++数据结构——习题6-5 最小生成树(Prim算法)
习题6-5 最小生成树省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。已知村庄数N和可建道路数M,设初始状态下任意村庄之间没有路,请编写程序,根据输入的两村庄间修建道路的费用情况,计算这些村庄畅通所需要的最低成本。输入格式:测试数据有多组。每组测试数据第1行输入村庄数目N ( 1< N < 11 )和道路数M;随后的M行输入村庄间道路的成本,每行给3个正整数,分别是两个村庄的编号(从1编号到N),修建此两村庄间
复制链接 扫一扫
分享

75
评分
回复


C/C++数据结构——括号画家
这里的话就是要注意美观的匹配序列,一个空串也美观,长度为1,两个合法的括号字段连接在一块也是美观的,遇到左括号就入栈,然后遇到右括号,判断和栈顶的左括号是否匹配,匹配就出栈,长度+2,如果不匹配就说明栈中所有的左括号和当前位置后的右括号都是不美观的,则判断最长括号长度进行存储。若括号序列A是美观的,则括号序列(A)、[A]、{A}也是美观的;若括号序列A、B都是美观的,则括号序列AB也是美观的。现在Candela想在她绘制的括号序列中,找出其中连续的一段,满足这段子序列是美观的,并且长度尽量大。...
复制链接 扫一扫
分享

96
评分
回复


C/C++数据结构——字典序最小的中序遍历
这是牛客竞赛里关于树形结构的练习,难点就在于什么时候交换,其实题目给出的要求已经很简单了,都是数字且左右子树都规定,建树后,只需要比较结点的左右子树的最小值,如果左子树的最小值大于右子树的最小值,那么就交换,中序遍历按照左中右的顺序遍历,所以左边的先遍历,左子树的结点值如果大的话那么字典序必然大。给一个有根二叉树,可以无限次的交换任意节点的左右子树,问最少交换多少次使得该树的中序遍历的字典序最小?接下来N行,每行两个整数ai,bi.ai表示第i个节点的左儿子,bi表示第i个节点的右儿子...........
复制链接 扫一扫
分享

68
评分
回复


C/C++数据结构——[NOIP2004]FBI树(二叉树)
简单二叉树,要注意的点无非就是创建二叉树的时候,注意字符串的起始位置和结束的位置,每个节点如果字符串长度大于2就要对半拆分开来,左边的做左子树,右边的一半做右子树,然后继续递归创建,然后后序遍历的时候要注意判断该结点是F结点B结点还是I结点,具体的上面题目描述都有说明,NOIP普及组的题目,难度不大。FBI树是一种二叉树[1],它的结点类型也包括F结点,B结点和I结点三种。我们可以把由“0”和“1”组成的字符串分为三类全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。...
复制链接 扫一扫
分享

77
评分
回复


C++数据结构——直接插入排序(图文)
直接插入排序是比较简单的排序算法,它主要是将我们要排序的序列分成两个部分,一个有序一个无序,然后将无序序列中的值依次插入到有序序列中。这么讲如果不能理解,我们拿例子去讲,假如有序列8 7 2 1 5 9 3这么一个序列,如下表所示。我们要将这个序列进行升序排序,接下来演示插入排序的过程。习题8-1 直接插入排序给定一个整数序列,请按非递减序输出采用直接插入排序的各趟排序后的结果。输入格式:测试数据有多组,处理到文件尾。每组测试数据第一行输入一个整数n(1≤n≤100),第二行输...
复制链接 扫一扫
分享

99
评分
回复


C++数据结构——小明的通讯录(哈希表线性探测法)
小明的通讯录小明上中学了,为了方便和家里以及同学联系,爸爸终于给小明买了一台手机。该手机的存储容量可以扩充,因此,可以存储的电话号码数量没有限制。小明的手机有一个特殊的功能,对于打进或拨出的电话,只要是新号码,手机均会自动进行储存。给定小明在一个月的使用期间的手机通讯记录,请给出此时此刻小明的手机中存储了多少个电话号码。哈希表进行存储,使用线性探测法解决冲突问题。这个代码很简洁,我偷懒这么写的,就是使用STL的map容器,map是红黑树,其实也可以用set做,set也是红黑树,是一种自平衡的二叉搜
复制链接 扫一扫
分享

120
评分
回复


C++数据结构——判断是否二叉排序树
判断是否二叉排序树根据带虚结点的先序序列建立二叉树,然后判断其是否为二叉排序树。输入格式:测试数据有多组,处理到文件尾。每组测试数据在一行中输入一个数字字符串(不含'0'且长度不超过20),表示二叉树的先序遍历序列,其中字符*表示虚结点(对应的子树为空)。解题思路首先先构建二叉树,根据样例输入,构建二叉树,因为是先序遍历,所以,按照中左右的顺序插入就行,*号不执行插入。然后我们再中序遍历,去判断是否为二叉搜索树。...
复制链接 扫一扫
分享

76
评分
回复


C++数据结构——旅游规划(Floyd算法详解)
旅游规划有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。Floyd算法通过一个图的权值矩阵求出它的每两点间的最短路径矩阵。 Floyd算法的时间复杂度是O(n^3),它能够计算任意两点之间的最短路径,利用动态规划的思想。我们根据题目去学习一下这个算法。C++数据结构——旅游规划(Floyd算法详解)...
复制链接 扫一扫
分享

75
评分
回复


C++数据结构——还是通畅工程(最小生成树Prim)
例6.7.2 还是畅通工程某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。输入格式:测试数据有多组。每组测试数据的第一行输入村庄数目N ( N<100 );随后的N(N-1)/2行对应村庄间的距离,每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间的距离(<1000)。简单起见,村庄从1到N
复制链接 扫一扫
分享

86
评分
回复


C/C++数据结构——经商(并查集动规)
小d每一个月都需要列出来一个人际关系表,表示他们搞房地产的人的一个人际关系网,但是他的精力有限,对应他只能和能够接触到的人交际。小d还很精明,他知道他和谁交际的深获得的利益大,接下来他根据自己的想法又列出来一个利益表,表示他和这些人交际需要耗用多少精力,能够获得的利益值为多少。每组数据的第一行输入三个数,N,M,C,表示这个人际关系网一共有多少个人,关系网的关系数,以及小d的精力值。小明能够接触到的人的编号有234,那么对应接触编号为2的人花费5精力能够获得10的利益值是最优方案。...
复制链接 扫一扫
分享

73
评分
回复


C/C++数据结构——树的同构(二叉树)
随后N行,第i行对应编号第i个结点,给出该结点中存储的1个英文大写字母、其左孩子结点的编号、右孩子结点的编号。这题写的优点绕了,主要是给你了树的结点,要构建树就得先找到根节点,根节点也就是没有被指向过的结点,只要用一个数组记录被指向的节点编号,然后找出没有被指的就行。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。如果两棵树是同构的,输出“Yes”,否则输出“No”。...
复制链接 扫一扫
分享

84
评分
回复


C/C++数据结构——是否同一棵二叉搜索树(二叉排序树)
给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。就是一道二叉搜索树,给你二叉搜索树的序列,然后再给你几个序列,去比较生成的二叉搜索树是否和给你的第一个序列相等,相等输出Yes,不相等输出No。这里无非就是比结点值小的放左边,比节点值大的放右边,但是我用的是c写的,c写结构体指针,可以看
复制链接 扫一扫
分享

84
评分
回复


C/C++数据结构——堆中的路径(插入小顶堆)
将一系列给定数字依次插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。## 输入格式:>每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。## 输出格式:>对输入中给出的每个下标i,在一行中输出从H[i]到根结点的路径上的数据。数字间以1个空格分隔,行末不得有多余空格。......
复制链接 扫一扫
分享

86
评分
回复


C/C++数据结构——列出连通集(深搜和广搜)
广搜就是一个结点下有多个结点可以走,那就先走完输出所有结点,然后再走这些节点的下一个结点,就相当于二叉树的层次遍历,上层结点走完再走下层节点。遍历结点1的下一层,得到集合{0,1,2,7,4}此时这条路径已经走不下去了,没有可以走的地方了,然后就网上退,0这里还有路可以走7,得到集合{0,1,4,2,7}这时候这一条路径完全走完了,走不了了,那就走下一个结点小的没走过的路径,那就是3开始,接下来就不赘述了。按照"{ v1 v2…然后呢这时,0有两个连接的结点,1和2,从小的开始那就是先走1.集合{0,1}.
复制链接 扫一扫
分享

82
评分
回复


C/C++数据结构——六度空间(广搜队列)
“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图1所示。六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标。然而由于历史的原因,这样的研究具有太大的局限性和困难。随着当代人的联络主要依赖于电话、短信、微信以及因特网上即时通信等工具,能够体现社交网络关系的一手数
复制链接 扫一扫
分享

81
评分
回复


C/C++数据结构——哈利·波特的考试(dijkstra与前向星)
哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒lalala,也可以将猫变老鼠、老鼠变鱼的魔咒连起来念:hahahehe。现在哈利·波特的手里有一本教材,里面列出了所有的变形魔咒和能变的动物。老师允许他自己带一只动物去考场,要考察他把这只动物变成任意一只指定动物的本事。于是他来问
复制链接 扫一扫
分享

195
评分
回复


C/C++数据结构——公路村村通(Prim)
公路村村通(Prim)现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N);随后的M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号以及该道路改建的预算成本。为简单起见,城镇从1到N编号。这道题我刚开始想着dijkstra也能做,但是忽略了**dijkstra算法是针对源点到某一点的距离**,而**prim算法是针对某一点到生成树的最短距离**,这样
复制链接 扫一扫
分享

63
评分
回复


C/C++数据结构——关键活动(拓扑排序、AOE网、前向星)
假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比如英语和C程序设计,它们没有必须先修哪门的约束;有些课程则不可以同时开设,因为它们有先后的依赖关系,比如C程序设计和数据.........
复制链接 扫一扫
分享
为您搜索到以下结果:
4
社区成员
25
社区内容





52AC编程爱好者营地
本社区为各位编程爱好者所开放,大家可以在本社区进行编程学习打卡,知识共享,一起学习一起进步
复制链接 扫一扫

确定
社区描述
本社区为各位编程爱好者所开放,大家可以在本社区进行编程学习打卡,知识共享,一起学习一起进步 c++青少年编程c语言 个人社区 浙江省·丽水市
加入社区
获取链接或二维码
- 近7日
- 近30日
- 至今
加载中
社区公告
暂无公告