- 博客(19)
- 收藏
- 关注
原创 P2814 家谱
大致思路:利用stl里的map,每输入父亲时(#),先检查map里面他有没有祖先,没有就令他的祖先是他自己;规定每个人的名字都有且只有 6 个字符,而且首字母大写,且没有任意两个人的名字相同。按照输入文件的要求顺序,求出每一个要找祖先的人的祖先,格式为:本人的名字 + 一个空格 + 祖先的名字 + 回车。输入由多行组成,首先是一系列有关父子关系的描述,其中每一组父子关系中父亲只有一行,儿子可能有若干行,用。给出充足的父子关系,请你编写程序找到某个人的最早的祖先。的形式描写一组父子关系中的父亲的名字,用。
2025-07-19 09:44:25
267
原创 P3405 [USACO16DEC] Cities and States S
痛定思痛过后,看到大佬的思路深感佩服,利用map<string,int>的映射,string里存城市的头两个字母和州的复合字符串(太牛啦),这样就非常好的解决了前面映射覆盖的问题,还有一个亮点就是输入完即答案就出来的便捷,俺输入完还要遍历属于是太low了,这里的处理也很有意思,具体见代码。我们称两个城市是一个一对「特殊」的城市,如果他们具有上面的特性,并且来自不同的州。接下来 N 行,每行两个字符串,分别表示一个城市的名称(2∼10 个大写字母)和所在州的代码(2 个大写字母)。输入共 N+1 行。
2025-07-15 12:05:46
398
原创 P1364 医院设置
首先利用结构体数组存储这棵二叉树,值得注意的是,结构体里面不仅存了左右子节点的位置,还存了父节点的位置,如果是根节点父节点就为0,同时,为了解决这道题,我还在结构体里多加了一个参数weight,使得两个节点的weight差等于路程,然后通过令每个节点都为医院算出相应的路程和存入set中,最后输出set的首元素。接下来的 n 行每行描述了一个结点的状况,包含三个整数 w,u,v,其中 w 为居民人口数,u 为左链接(为 0 表示无链接),v 为右链接(为 0 表示无链接)。一个整数,表示最小距离和。
2025-07-10 15:24:04
403
原创 P1305 新二叉树
思路:设置一个结构体数组存储节点(把这个二叉树存起来),结构体里要包括根节点、左子节点、右子节点,我以字符的形式进行存储。但这时就有一个问题,仅通过子节点的字符要怎么找到子节点呢,因为我们通过结构体数组下标来寻找子节点,所以我想到不妨建立一种映射,即字符到数字的映射,像普通数组通过下标访问数据一样利用字符访问数字,这时我就想到了stl里的unordered_map,如此前序遍历就可以通过一个函数完成了。后面 n 行,每一个字母为节点,后两个字母分别为其左右儿子。特别地,数据保证第一行读入的节点必为根节点。
2025-07-10 12:19:01
323
原创 P2234 [HNOI2002] 营业额统计
由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某些时候营业额突变得很高或是很低,这就证明公司此时的经营状况出现了问题。在这道题里,为了求出每次输入的“最小波动值”,我们先用lower_bound函数得出大于输入的最接近的数,只要通过迭代器的自减运算就能得出小于等于输入的数,分别做差即可得出“最小波动值”,最后把输入插入set中。结果说明:5+∣1−5∣+∣2−1∣+∣5−5∣+∣4−5∣+∣6−5∣=5+4+1+0+1+1=12。如有错误,敬请指出。
2025-07-03 16:33:57
392
原创 P2058 [NOIP 2016 普及组] 海港
第三艘船在第 10 秒到达海港,最近 24 小时到达的船是第一艘船、第二艘船和第三艘船,共有 4+2+1=7 个乘客,分别是来自国家 4,1,2,2,2,3,3,共来自 4 个不同的国家。第二艘船在第 3 秒到达海港,最近 24 小时到达的船是第一艘船和第二艘船,共有 4+2=6 个乘客,分别是来自国家 1,2,2,3,2,3,共来自 3 个不同的国家。第一艘船在第 1 秒到达海港,最近 24 小时到达的船是第一艘船,共有 4 个乘客,分别是来自国家 1,2,2,3,共来自 3 个不同的国家。
2025-07-03 15:21:11
468
原创 P1160 队列安排
主要问题在于线性查找时间复杂度过高,我们需要通过某种方式降低查找的时间复杂度,经过资料查找和答案的启发,我最后使用了STL库里的迭代器,不是说利用迭代器进行线性查找,而是利用一个数组储存每个位置的迭代器,pos[num]里存的是num号同学在链表里的位置,最后删除元素的时候就可以直接找到要删除元素的位置进行直接删除。2∼N 号同学依次入列,编号为 i 的同学入列方式为:老师指定编号为 i 的同学站在编号为 1∼(i−1) 中某位同学(即之前已经入列的同学)的左边或右边;对于 20% 的数据,1≤N≤10。
2025-07-02 11:21:18
318
原创 P5019 [NOIP 2018 提高组] 铺设道路
大致思路:考虑数组a[n],在读入n个数字后先遍历得到n个数字中最小的数a[min],那便是[1,n]的次数,加到累加器count里,将每个数都减去a[min]得到新数组,再把旧数组分割为两个新数组(不包括a[min])重复上述操作知道该数组里的元素都变为0。春春每天可以选择一段连续区间 [L,R] ,填充这段区间中的每块区域,让其下陷深度减少 1。一种可行的最佳方案是,依次选择: [1,6]、[1,6]、[1,2]、[1,1]、[4,6]、[4,4]、[4,4]、[6,6]、[6,6]。
2025-05-05 13:22:59
311
原创 P1002 [NOIP 2002 普及组] 过河卒
棋盘上 A 点有一个过河卒,需要走到目标 B 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A 点 (0,0)、B 点 (n,m),同样马的位置坐标是需要给出的。现在要求你计算出卒从 A 点能够到达 B 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。
2025-04-18 20:42:33
263
原创 连通块数量
编写程序,读入矩阵行数、列数及所有矩阵元素,矩阵中所有元素均为正整数,计算并打印出矩阵中的最大连通块数。注:如果两个元素值相同,并且上、下、左、右四个方向之一相邻,则称两个元素是连通的;连通关系是可传递的,一个元素的连通元素,也是与它连通元素的连通元素。最大连通块定义为所有连通元素组成的最大集,单个元素也可成为最大连通块。要求设计出求连通块数的递归或非递归算法。矩阵行数、列数不超出50。
2025-04-04 08:11:35
423
原创 好玩的约瑟夫环
有M个人,编号分别为1到M,玩约瑟夫环游戏,最初时按编号顺序排成队列;每遍游戏开始时,有一个正整数报数密码N,队列中人依次围坐成一圈,从队首的人开始报数,报到N的人出列,然后再从出列的下一人开始重新报数,报到N的人出列;重复这一过程,直至所有人出列,完成一遍游戏,所有出列的人形成新队列;游戏可能玩很多遍,每遍有新报数密码。求若干遍游戏完成后队列次序。题目输入包括若干个正整数(至少1个),第一个正整数为玩游戏人数M,后续每个正整数为每遍游戏报数密码,报数密码可能为1,题目要求按出队列顺序输出他们的编号。
2025-03-28 20:39:36
174
原创 对象池(object_pool)
Java有废料回收(GC)的功能,可以回收无法再使用的内存、对象等资源。但C++就要自己负责释放动态分配的资源。身为一名软件开发者,我感到肩上的担子更重了。那么资源管理是怎样实现的呢?我查到一种用技术实现的入门级方案。比方说有容量为C对象池(0号是哑元不用),用空闲链表把它管起来。C++的链表听说要用深受爱戴和尊敬的,但指针才刚讲,来不及了,我先用数组索引模拟指针。
2025-03-13 11:16:55
522
原创 21点扑克牌游戏
游戏说明:一副扑克牌54张,去掉大小王52张,每次从这堆牌里抽出一张牌,抽完后你在知道这张牌的情况下决定要继续抽还是结束本轮抽牌,目标是抽的牌点数和要接近21且不超过21。若和超过21就自动结束本轮,超过21的部分要作为扣分计入总分,并自动开启下一轮。若在和未超过21的情况下自行结束本轮,则将点数和作为加分计入总分。总共有6轮(chance=6),总分超过80分视为胜利。代码比较简单,就不作过多介绍了。周末一时兴起写的一个小游戏。
2025-02-20 20:23:18
303
原创 阿飞的挺身而出
大林最近看了一些大数计算的资料,觉得颇有心得,于是他在课堂上出了一道简单的大数加法给学生做练习,当然两个加数都是超过int和long所能表示的数的范围。这让他的学生们不禁陷入了沉思,怎么办呢?做不出来的话期末成绩可能要59分了。在这危急时刻,有个聪明的阿飞同学挺身而出,通过仔细观察,他发现两个高位数的正整数相加,可以把这两个正整数分别拆成两个低位数的正整数之间的加法和进位运算。经过不懈努力,他成功地解决了这道题,获得了大林的表扬。请大家向阿飞同学学习,也编写类似程序来解决这个问题。
2025-02-19 12:08:35
270
原创 PTA 2025 跨年挑战赛 身体 蛇年谐音梗
2025 年是蛇年,大家都在用“蛇”造好玩的谐音梗,比如“蛇我其谁,年年有为”,还有略转音的如“蛇全蛇美”、“蛇来运转”等…… 喜欢编程的你也想造梗,于是直接写个程序,从一万句话里把带了汉语拼音she和shi的句子都自动挑出来备选。
2025-02-16 22:32:22
820
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅