- 博客(123)
- 收藏
- 关注

原创 MMRotate旋转目标检测教程
MMRotate是一个面向旋转目标检测的开源工具包,基于MMDetection框架开发,支持DOTA、DIOR等旋转检测数据集。其核心组件包括数据加载(datasets)、模型架构(models)、评估指标(evaluation)和实用工具(utils),提供Oriented RCNN等主流旋转检测算法。安装需配置Miniconda环境,安装PyTorch、MMCV和MMDetection依赖,通过pip install -v -e .启用可编辑模式。训练流程包括数据集准备(需旋转框标注)、配置文件调整(骨
2025-06-25 11:10:30
1300
原创 PAT A 1030 Travel Plan
摘要:题目要求为旅行者寻找起点到终点的最短路径,若路径不唯一则选择花费最低的。使用Dijkstra算法,在计算最短距离的同时维护最小花费。代码实现中,通过邻接矩阵存储城市间距离和花费,使用优先队列优化路径选择,并记录前驱节点以输出完整路径。输入样例为4个城市和5条高速公路,输出为最短路径0→2→3,总距离3,总花费40。
2025-06-30 16:21:18
389
原创 PAT A 1003 Emergency
摘要:题目描述了一个城市救援队队长的任务场景,要求从起点城市C1出发,尽快到达目标城市C2,同时尽可能多地召集沿途救援队。输入包含城市数量、道路数量、起点和终点城市编号,各城市的救援队数量,以及各道路的长度。输出要求给出C1到C2的最短路径数量,以及在这些路径中可以召集的最大救援队总数。解题采用Dijkstra算法,用邻接矩阵存储图,并维护最短路径数(dcnt数组)和最大救援队数(teams数组)。样例输入输出展示了算法的正确性。
2025-06-30 12:11:19
335
原创 PAT A 1076 Forwards on Weibo
题目要求计算微博用户在限定转发层数内的最大潜在转发量。给定用户之间的关注关系,当某用户发微博时,其直接和间接关注者(不超过L层)会转发,需统计符合条件的转发总数。 方法:使用广度优先搜索(BFS)遍历用户网络。从查询用户出发,逐层扩展,记录每个用户的转发层数,统计不超过L层的用户数量。每次查询前重置访问状态和层数记录。 输入:用户数N和转发层数L,接着N行每行描述用户的关注列表,最后是查询列表。 输出:每个查询用户的最大转发量。 示例: 输入中的用户2在最多3层转发时有4人转发,用户6有5人转发。代码通过B
2025-06-29 18:36:33
420
原创 PAT A 1034 Head of a Gang
题目要求通过电话记录找出犯罪团伙及其头目。团伙定义为超过2人且总通话时长超过阈值K的连通群体,头目为团伙中总通话时长最多的人。算法使用深度优先搜索(DFS)遍历图的连通块,统计每个团伙的成员数和总时长,最终输出按头目名字排序的结果。样例1中AAA和GGG作为头目各领导3人团伙,而样例2因不满足条件输出0。
2025-06-29 16:22:09
477
原创 并查集 - 好朋友
摘要:题目描述了一个数码世界,其中数码宝贝之间存在朋友关系。通过输入数码宝贝数量和朋友关系对,要求输出可以分成的互不相交的朋友组数。使用并查集算法来合并朋友关系,最终统计根节点数量即为答案。示例输入7个数码宝贝和5对朋友关系,输出3组,表明存在3个独立的朋友圈子。代码实现中运用了路径压缩优化查询效率。
2025-06-28 18:27:56
207
原创 PAT A 1043 Is It a Binary Search Tree
摘要: 题目要求判断给定的整数序列是否为二叉搜索树(BST)或其镜像树的前序遍历序列。若是,则输出对应的后序遍历序列。程序首先构建BST,生成其前序和镜像前序序列与输入比较。若匹配BST前序,输出常规后序;若匹配镜像前序,输出镜像后序(右左根顺序)。否则输出NO。关键步骤包括插入建树、前序遍历验证及后序遍历输出。 关键词: 二叉搜索树、前序遍历、镜像树、后序遍历、序列验证
2025-06-28 17:03:02
952
原创 PAT A 1053 Path of Equal Weight
摘要:题目要求在一棵带权树中找出所有从根节点到叶子节点的路径,使得路径节点权重之和等于给定值S。采用深度优先搜索(DFS)遍历树,当到达叶子节点且权重和等于S时输出路径。为满足非递增顺序输出,将子节点按权重降序排序。测试发现代码能通过大部分用例,但存在一个特例未处理(如当不存在满足路径时,题目未明确输出要求)。需进一步检查边界条件,如权重和为0或负值的情况。
2025-06-28 10:12:38
714
原创 PAT A 1020 Tree Traversals
题目要求根据给定的二叉树后序和中序遍历序列,输出该二叉树的层次遍历序列。程序通过递归构建二叉树,再使用广度优先搜索(BFS)实现层次遍历。 输入说明: 第一行是节点数N 第二行是后序遍历序列 第三行是中序遍历序列 处理过程: 使用后序序列的最后一个元素作为根节点 在中序序列中找到根节点位置,划分左右子树 递归构建左子树和右子树 通过队列实现BFS层次遍历 输出要求:层次遍历序列,数字间用空格分隔,末尾无空格。 示例: 输入后序2 3 1 5 7 6 4和中序1 2 3 4 5 6 7,输出层次遍历为4 1
2025-06-27 16:34:14
177
原创 PAT A 1020 Tree Traversals
给定二叉树的后序和中序遍历序列,要求输出该二叉树的层序遍历序列。输入包含节点数、后序序列和中序序列。通过递归构建二叉树(使用数组存储节点),通过后序的最后一个元素确定根节点,在中序中找到根节点位置划分左右子树,重复此过程构建完整二叉树。最后通过遍历节点数组输出层序遍历结果,其中节点按完全二叉树的编号顺序存储,空节点跳过。
2025-06-27 13:27:03
216
原创 PAT A 1052 Linked List Sorting
摘要:该程序实现了一个链表排序功能。输入包括链表节点数量、头节点地址以及各节点的地址、键值和下个节点地址。程序首先遍历链表标记有效节点,然后按键值升序排序有效节点。最后输出排序后的链表,格式与原输入相同。对于空链表的情况会特殊处理。关键点在于使用结构体数组存储节点信息,通过flag标记有效节点,并利用自定义排序规则实现排序。时间复杂度主要来自排序步骤,为O(NlogN)。输出时注意处理末尾节点的NULL表示和格式化地址输出。
2025-06-26 18:33:58
432
原创 PAT A 1032 Sharing
(图片来源:华晨宇(好吃大哥的颜))摘要 输入为两个链表的首地址和节点总数,随后是各节点的地址、字符和下一节点地址。通过标记第一个链表的所有节点,然后在第二个链表中查找已标记的节点,找到的第一个即为公共后缀起始位置。若未找到则输出-1。例如,Sample Input 1找到公共后缀起始节点67890,而Sample Input 2无公共后缀,输出-1。
2025-06-25 19:07:01
268
原创 Codeup 1918: 简单计算器
本文介绍了一个计算包含加减乘除运算符的非负整数表达式的C++程序。程序使用双栈结构(数字栈和运算符栈)来处理表达式,通过比较运算符优先级来决定运算顺序。主要步骤包括:1) 初始化运算符优先级;2) 读取输入表达式;3) 处理数字和运算符入栈;4) 按照优先级进行运算;5) 输出保留两位小数的结果。特别强调需要使用double类型而非float以确保精度。样例输入为复杂表达式,输出结果为12178.21,展示了程序的正确性。
2025-06-25 12:12:48
122
原创 PAT A 1060 Are They Equal
题目要求比较两个浮点数在指定有效数字位数下是否相等,并按照标准格式输出结果。以下是代码的主要思路和实现步骤: 输入处理:读取有效数字位数和两个浮点数字符串,去除前导零。 计算指数: 对于整数部分非零的情况,计算整数位数作为指数。 对于纯小数情况,计算小数点后连续零的数量作为负指数。 转换标准格式: 根据计算的指数截取或补零,生成指定长度的有效数字字符串。 若指数为正,按整数部分处理;若为负,按小数部分处理。 比较结果: 比较两个数的指数和有效数字部分,若相同则输出"YES"和标准格式,否
2025-06-25 11:14:30
206
原创 PAT A 1059 Prime Factors
摘要:本文介绍了一个分解正整数质因数的C++程序。程序通过输入一个长整型正整数,输出其质因数分解结果,格式为n=p1^e1p2^e2...*pk^ek(若指数为1则省略)。算法采用试除法,从2开始逐个测试除数,直至n变为1。特例处理包括输入为1的情况和没有质因数的情况。程序首先找到所有质因数及其指数,然后按要求格式化输出结果。
2025-06-24 16:09:22
161
原创 B PAT 1019 数字黑洞
摘要:本文介绍了一个关于数字黑洞6174(Kaprekar常数)的数学现象。对于任意四位数字不全相同的正整数,通过重复进行以下操作:将数字降序排列减去升序排列,最终都会收敛到6174。程序实现中,首先处理输入数字,确保四位格式,然后循环执行排序和相减操作,直到得到6174或0000(当输入数字各位相同时)。输出每步计算过程,保持四位数字格式显示。
2025-06-24 10:52:17
394
原创 B 1040 有几个PAT
题目要求计算字符串中能形成"PAT"的数量。通过预处理前缀P的数量和后缀T的数量,对于每个A字符,将左边P的数量乘以右边T的数量,累加得到结果。时间复杂度为O(n),空间复杂度为O(n)。示例输入APPAPT输出2,对应两个有效的"PAT"组合。算法使用动态规划思想,先统计每个位置左边P的累计数量和右边T的累计数量,然后遍历每个A字符计算乘积并累加,最后对结果取模输出。
2025-06-23 17:42:17
196
原创 1020 月饼 PAT B
这道题目要求计算销售月饼获得的最大收益,允许部分销售,属于典型的贪心算法问题。我们需要按照月饼单价从高到低的顺序销售,直到满足市场需求量。具体实现步骤如下: 输入月饼种类数n和市场需求量d; 输入每种月饼的库存量和总售价,计算单价(售价/库存量); 将月饼按单价从高到低排序; 依次销售单价高的月饼,若当前月饼库存量足够则全部卖出,否则卖出剩余需求量部分; 将收益累加,直到满足需求量d; 输出保留2位小数的最大收益。 时间复杂度为O(nlogn),主要来自排序操作。样例输入3种月饼,按单价排序后依次销售,得到
2025-06-22 20:02:19
173
原创 1025 PAT Ranking
摘要:编程能力测试(PAT)由浙江大学计算机学院组织,需要合并多个考点的成绩排名。输入包含若干考点,每个考点有若干考生(准考证号13位和成绩)。程序需要先对每个考点内部排序,计算本地排名,再对所有考生进行全局排序,计算最终排名。当成绩相同时,排名相同并按准考证号升序排列。输出总人数和最终排名列表,包含准考证号、总排名、考点编号和本地排名。实现时使用结构体存储考生信息,分别进行两次排序处理本地和全局排名。
2025-06-22 18:21:11
733
原创 1928: 日期差值 codeup
摘要 本文实现了一个计算两个日期之间天数的程序,考虑了闰年规则(能被400整除或能被4整除但不能被100整除的年份为闰年)。程序处理多组输入,每组输入两个YYYYMMDD格式的日期,输出它们之间的天数(连续日期算作2天)。核心算法分三种情况计算:同年日期直接按月日计算;不同年份则分别计算起始年剩余天数、中间整年天数及终止年已过天数。程序通过提取年月日、处理闰年月份并累加天数来实现这一功能。
2025-06-22 16:41:39
174
原创 计算机操作系统整体框架
这个部分还有很重要的作业调度算法!------互斥 & 同步 (可以通过信号量机制实现(PV原语 需要知道这个什么时候P什么时候V P就是请求一个资源 V就是释放一个资源) 其实还有别的方法 可以搜一下 )包括作业调度(从后备队列中选几个作业,分配给它们资源,为它们创建进程,插入内存中的就绪队列)和 进程调度(给就绪队列中的进程分配处理机 让它执行)--------有静态分配(一次性的)和动态分配(运行过程中还可以折申请的malloc?:为了解决CPU和I/O设备速度不匹配的问题哈。
2024-08-01 12:21:57
523
原创 数据结构与算法-绪论
1 绪论程序 = 数据结构 + 算法数据的逻辑结构 四种:线性结构树形结构图状结构集合结构数据的存储结构 (逻辑结构在存储器中的映像)常见的有:数组链表栈队列树堆散列表图基本数据类型:intfloatdoublecharbool算法的五个特性有穷性 (有穷步骤 有限时间)确定性 (含义明确 无二义性)可行性 (基本操作 可以实现)有输入 (0 or 多个)有输出 (一个 or 多个)算法
2024-08-01 09:41:52
463
原创 项目管理software project management
已知风险:已经识别出并分析过的风险,人们知道它们是什么风险以及发生的可能性和后果,通常按计算出的风险金额计入具体的项目工作的成本中。如果发生,就用管理储备来应付。质量保证是项目组对项目质量的担保和承诺,它定义了项目的质量标准、质量控制流程、建立了项目质量保证体系、确定了项目质量审计的的方法和工具,并通过质量审计活动来确保各项质量活动得以贯彻和落实。组织型(项目经理权力最大):各部门完全是按照项目进行设置的,每个项目就如同一个微型公司那样运作,专职的项目经理对项目团队拥有完全的项目权力和行政权力。
2024-07-22 11:37:24
1083
原创 5 数据库设计
确定数据库的存储结构,即确定关系、索引、聚簇、日志、备份等数据的存储安排和存储结构。概念结构设计:将需求分析得到的用户需求抽象为信息结构,即概念模型。
2024-02-29 02:07:19
407
原创 4 关系规范化理论
无损连接性:分解后得到的各个关系可以通过自然连接来实现还原,还原就是不比原来信息多也不比原来信息少。一个无损连接分解不一定是保持函数依赖的,一个保持函数依赖的分解也不一定是无损连接的。保持函数依赖:分解后各个具体关系上的函数依赖集的并集刚好等价于原来关系上的依赖集。把一个关系模式分解为3NF,使它具有无损连接性又具有保持函数依赖性算法。BC范式:不存在任何(主和非主)属性对主码的部分函数依赖和传递函数依赖。给出关系模式和函数依赖集F求闭包F+(简单 不要忘了 Ø->Ø)给出R(U) F是R上的函数依赖集。
2024-02-28 01:56:24
446
原创 2 关系数据库
结果是将R中满足S条件的元组取出 再去除S条件中的属性列 剩下的就是结果。关系数据结构 关系操作集合 关系完整性约束。传统的集合运算:并 差 交 广义笛卡尔积。逻辑运算符:逻辑与 逻辑或 取反。算数比较运算符:大于 小于 等。连接:选取运算和广义笛卡尔积。笛卡尔积:mXn(元组)选择:从行的角度进行运算。投影:从列的角度进行运算。
2024-02-22 15:53:13
479
原创 1 基础概念
内模式–存储模式/物理模式,对数据库物理结构和存储方式的描述,最内层,只有一个。第一次抽象是将现实世界抽象为信息世界,概念模型/实体模型;第二次抽象是将信息世界抽象为计算机世界,数据模型。数据逻辑结构和特征的描述,最外层,可以有多个。外模式–用户与数据库系统的接口,是数据库中。由数据库DB 数据库用户 软件和硬件组成。模式–概念模式/逻辑模式,是数据库中。数据逻辑结构和特征的描述,只有一个。信息世界:现实世界在人脑中的反映。计算机世界:对信息世界的抽象。DBS包含DB和DBMS。现实世界:客观存在的世界。
2024-02-22 12:31:04
599
原创 8 磁盘存储器的管理
NTFS的文件组织方式:以文件的形式来对数据进行管理,以簇为单位来存储数据的,具有了与磁盘物理块大小无关的独立性,以主控文件表MFT为核心。事务:事务是用于访问和修改各种数据项的一个程序单位。FAT12(512B)、以簇为单位的FAT12文件系统、FAT16、FAT32。连续组织方式:为每一个文件分配一组相邻接的盘块。链接组织方式:多个不连续的盘块 链接指针。显示链接:文件分配表FAT。事务记录:运行记录 log。提高磁盘I/O速度的途径。重复数据的数据一致性问题。提高磁盘可靠性的技术。
2024-02-21 12:22:46
389
原创 7 文件管理
键值转换:由关键字到记录物理地址的转换,根据给定的关键字直接获得指定记录的物理地址。文件的物理结构:是指文件在存储介质上的存储结构,是文件在外存空间上的组织形式。文件的逻辑结构:是指呈现在用户面前的文件结构,是文件逻辑上的组织形式。提高对目录的检索速度 允许文件重名 实现按名存取 允许文件共享。哈希文件:利用Hash函数可将关键字转换为相应记录的地址。文件:指具有文件名的若干相关元素的集合。文件目录是目录文件中记录的一条信息。文件的”打开“和"关闭"操作。目录是文件的一种,叫目录文件。
2024-02-20 17:47:00
338
原创 6 输入输出系统
I/O通道控制方式:可实现CPU、通道和I/O设备三者的并行操作,主要用于大型计算机以及网络服务器等含有许多输入输出设备并对输入输出有较高要求的场合。从设备直接送入内存的,在传送数据块的开始和结束时才需CPU干预,整块数据的传送是在控制器的控制下完成的。设备无关性:应用程序中所用的设备,不局限于使用某个具体的物理设备。I/O系统的主要任务:完成用户提出的I/O请求,提高I/O速率,以及提高设备的利用率。(3) 标识和报告设备的状态。1)在请求I/O的进程与设备控制器之间的一个通信和转换程序。
2024-02-20 13:34:48
1121
原创 5 虚拟存储器
发生“抖动”的根本原因是,同时在系统中运行的进程太多,由此分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,致使每个进程在运行时,频繁地出现缺页,必须请求系统将所缺之页调入内存。显然,对磁盘的有效访问时间也随之急剧增加,造成每个进程的大部分时间都用于页面的换进/换出,而几乎不能再去做任何有效的工作,从而导致发生处理机的利用率急剧下降并趋于0的情况。交换技术:将内存中某进程暂时不用的程序和数据写入外存交换区中,腾出来的空间供其它进程使用。3)交换页面/段面–用于分页、分段存储管理(虚拟存储技术)
2024-02-19 15:58:28
493
Java Web Jquery表单验证
2023-07-26
计算机组成原理+与+异或+同或+电路图+logisim
2023-07-25
计算机组成原理+电路图+3-8译码器+logism
2023-07-25
计算机组成原理+串行八位+logisim+电路图
2023-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人