自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2026PTA团体程序设计天梯赛组卷(L1-L3)

L1-113 一行代码每次一行代码,建起我们的未来 —— 本题非常简单,就请你直接在屏幕上输出这句话:“Building the Future, One Line of Code at a Time.”。

2026-04-20 11:23:11 680

原创 PTA团体程序设计天梯赛 L3-045 序列谜题(Java版本)

给定一个长度为n的整数序列a,求有多少个长度为n的整数序列b满足1≤bi​≤n1≤i≤n),且a∘bb∘a。其中a∘bc满足ci​abi​​1≤i≤n答案对998244353取模。

2026-04-20 09:19:12 448

原创 PTA团体程序设计天梯赛 L3-044 花砖物语(Java实现)

花砖物语》是一款以瓷砖装饰为主题的德式桌游。在游戏中,玩家从工厂板块或桌面中央拿取花砖,将它们砌到自己的墙壁上以获得分数。游戏的核心机制之一在于拿取花砖的策略:从工厂板块上拿取一种颜色的所有花砖后,剩余的花砖会被移动到桌面中央;而桌面中央的花砖也可以被后续的玩家一次性拿走。(BoardGameGeek 用户拍摄的照片)现有 n 个工厂板块,第 i 个工厂板块上恰好有两块花砖:一块红色花砖,花纹编号为 ri​;一块蓝色花砖,花纹编号为 bi​。

2026-04-20 08:45:56 314

原创 PTA团体程序设计天梯赛 L3-043 门诊预约排队系统 (Java版本)

声明:本题仅限人类解答。

2026-04-20 08:35:12 438

原创 PAT(Top Level)Practice 1001 Battle Over Cities - Hard Version (35/35)(Java)

【代码】PAT(Top Level)Practice 1001 Battle Over Cities - Hard Version (35/35)(Java)

2026-03-21 11:25:57 347

原创 PAT (Top Level)Practice 1007 Red-black Tree(35/35)(Java)

【代码】PAT (Top Level)Practice 1007 Red-black Tree(35/35)(Java)

2026-03-21 11:11:27 334

原创 PAT (Top Level)Practice 1011 Cut Rectangles(35/35)(Java)

【代码】PAT (Top Level)Practice 1011 Cut Rectangles(35/35)(Java)

2026-03-21 11:03:51 281

原创 PAT (Top Level)Practice 1027 Larry and Inversions(35/35)(Java)

【代码】PAT (Top Level)Practice 1027 Larry and Inversions(35/35)(C++)

2026-03-21 10:56:54 380

原创 PAT (Top Level)Practice 1032 Fighting the Monsters(35/35)(Java)

【代码】PAT (Top Level)Practice 1032 Fighting the Monsters(35/35)(Java)

2026-03-21 10:50:24 404

原创 PAT (Top Level)Practice 1031 Path to Infinity(35/35)(C++)

【代码】PAT (Top Level)Practice 1031 Path to Infinity(35/35)(C++)

2026-03-21 10:41:48 763

原创 PTA数据结构与算法题目集(中文)7-36 社交网络图中结点的“重要性”计算

摘要:本文介绍了一种计算无向无权图中结点紧密度中心性的方法。紧密度中心性衡量结点到达网络中其他结点的平均速度,计算公式为结点到其他所有结点最短距离平均值的倒数。算法首先判断图的连通性,若不连通则所有结点中心性为0;对于连通图,使用BFS计算每个查询结点到其他结点的最短路径和,进而求得中心性值。示例输入包含结点数、边数和查询结点,输出各查询结点的中心性值(保留2位小数)。实现采用邻接表存储图结构,并通过广度优先搜索进行最短路径计算。

2026-02-16 17:53:17 70

原创 PTA 数据结构与算法题目集(中文)7-50 畅通工程之局部最小花费问题

某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的快速道路相连,只要互相间接通过快速路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建快速路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全地区畅通需要的最低成本。

2026-02-16 17:40:48 76

原创 PTA数据结构与算法题目集(中文)7-2 一元多项式的乘法与加法运算

设计函数分别求两个一元多项式的乘积与和。

2026-02-16 17:39:32 55

原创 PTA数据结构与算法题目集(中文)7-1 最大子列和问题

给定K个整数组成的序列{ N1​, N2​, ..., NK​ },“连续子列”被定义为{ Ni​, Ni+1​, ..., Nj​ },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。本题旨在测试各种不同的算法在各种数据情况下的表现。

2026-02-16 17:37:30 68

原创 PTA团体程序设计天梯赛 L3-024 Oriol和David (30/30)(C++ Java双版本)

Oriol 和 David 在一个边长为 16 单位长度的正方形区域内,初始位置分别为(7, 7)和(8, 8)。现在有 20 组、每组包含 20 个位置需要他们访问,位置以坐标(x, y)的形式给出,要求在时间 120 秒内访问尽可能多的点。(x和y均为正整数,且0 ≤ x < 16,0 ≤ y < 16)

2026-02-11 15:08:03 866 3

原创 PTA团体程序设计天梯赛 L3-027 可怜的复杂度 (30/30)(Java C++双版本)

可怜有一个数组 A,定义它的复杂度 c(A) 等于它本质不同的子区间个数。举例来说,c([1,1,1])=3,因为 [1,1,1] 只有 3 个本质不同的子区间 [1]、[1,1] 和 [1,1,1];而 c([1,2,1])=5,它包含 5 个本质不同的子区间 [1]、[2]、[1,2]、[2,1]、[1,2,1]。可怜打算出一道和复杂度相关的题目。众所周知,引入随机性往往可以让一个简单的题目脱胎换骨。现在,可怜手上有一个长度为 n 的正整数数组 x 和一个正整数 m。

2026-02-03 10:24:28 526

原创 PTA团体程序设计天梯赛 L3-039 攀岩 (30/30)(Delaunay 三角剖分)(C++ Java双版本)

九条可怜最近接触到了攀岩这项运动。作为一名运动量接近为零的家里蹲,相比于动手攀岩,可怜显然更加享受攀岩运动中动脑的部分,即对攀岩路线的规划。为了只动脑,可怜设计了一个简易的攀岩机器人来帮她动手。这个机器人由一个核心(大小可以忽略不计)和三个长度至多为 r 的可伸缩机械臂组成,如下图所示:一面攀岩墙可以看成一个二维的无穷平面,上面有 n 个不同位置的岩点 p1​,…,pn​。在攀岩开始时,机器人的两个机械臂需要分别抓住岩点 p1​ 和 p2​,而其核心和第三个机械臂可以在任意位置。

2026-01-21 10:03:55 1089

原创 PTA团体程序设计天梯赛 L3-033 教科书般的亵渎 (DP状压+剪枝)(30/30) (Java实现)

九条可怜最近在玩一款卡牌游戏。在每一局游戏中,可怜都要使用抽到的卡牌来消灭一些敌人。每一名敌人都有一个初始血量,而当血量降低到 0 及以下的时候,这名敌人就会立即被消灭并从场上消失。现在,可怜面前有 n 个敌人,其中第 i 名敌人的血量是 ai​,而可怜手上只有如下两张手牌:如果场上还有敌人,等概率随机选中一个敌人并对它造成一点伤害(即血量减 1),重复 K 次。对所有敌人造成一点伤害,重复该效果直到没有新的敌人被消灭。现在,可怜先打出了第一张手牌,再打出了第二张手牌。

2026-01-21 08:19:45 1338

原创 PTA团体程序设计天梯赛 L3-042 污染大亨 (30/30)(满分)(C++ Java 双版本)

九条可怜今天玩一款关于环境、污染和交罚款的德式桌游。游戏的地图是一条河的河道。因为河流会分叉,所以其河道以有根树的形式呈现。在河道边上有 n 个小镇,其中编号为 1 的小镇对应了河流的源头,而第 i(i>1) 个小镇的直接上游是编号为 fi​(1≤fi​<i) 的小镇。游戏开始时河流完全没有受到污染。而在游戏的每一轮,可怜需要选择一个修建一个新的工厂。在工厂开工后,它会立刻对该小镇以及其下游的所有小镇产生,也就意味着在游戏的剩余时间内,这些小镇再也不能作为工厂的地址。

2026-01-20 12:19:05 1556 1

原创 PTA团体程序设计天梯赛 L3-022 地铁一日游 (Java)(满分不超时)

森森喜欢坐地铁。这个假期,他终于来到了传说中的地铁之城——魔都,打算好好过一把坐地铁的瘾!魔都地铁的计价规则是:起步价 2 元,出发站与到达站的最短距离(即)每 K 公里增加 1 元车费。例如取= 10,动安寺站离魔都绿桥站为 40 公里,则车费为 2 + 4 = 6 元。为了获得最大的满足感,森森决定用以下的方式坐地铁:在某一站上车(不妨设为地铁站),则对于所有车费相同的到达站,森森只会在计费距离最远的站或线路末端站点出站,然后用森森美图 App 在站点外拍一张认证照,再按同样的方式前往下一个站点。

2026-01-17 14:08:36 446

原创 PTA 团体程序设计天梯赛 L3-036 血染钟楼 (30/30)(满分)(吉司机线段树)(C++ Java双版本)

九条可怜最近非常沉迷血染钟楼 —— 一款类狼人杀的身份推理类的游戏。在一局血染钟楼的游戏中,玩家们之间隐藏着一名"恶魔",而所有善良玩家的目标就是将抽到恶魔身份的玩家绳之以法。今天,九条可怜和她的小伙伴们开了一局 n+1 名玩家参与的游戏,可怜的编号是 0,其他玩家编号从 1 到 n。换句话说,在剩下的 n 名玩家中,存在着两名未知的玩家,如果这两名玩家均未被可怜选中,可怜就会得到信息 0,否则就会得到信息 1。

2026-01-17 11:17:09 1272

原创 PTA团体程序设计天梯赛 L3-038 工业园区建设 (Java)(满分)

某工业园区要进行建设,共有 N 块工业用地排成一条直线,其中上面已经有若干块用地建设起了工厂,其他地方为空地。现在工业园区计划在空地上建设至多 M 个新工厂以及一个仓库,希望在完成计划后,仓库离最近的 k 个工厂的距离之和尽可能小。两块用地的距离等于他们的编号的差;即 1 号用地与 2 号用地的距离为 1。一个空地上只能建设一个工厂,仓库可以跟工厂建在一起。

2026-01-17 09:48:51 540

原创 PTA团体程序设计天梯赛 L3-019 代码排版 (Java)(满分不超时)

某编程大赛中设计有一个挑战环节,选手可以查看其他选手的代码,发现错误后,提交一组测试数据将对手挑落马下。为了减小被挑战的几率,有些选手会故意将代码写得很难看懂,比如把所有回车去掉,提交所有内容都在一行的程序,令挑战者望而生畏。为了对付这种选手,现请你编写一个代码排版程序,将写成一行的程序重新排版。当然要写一个完美的排版程序可太难了,这里只简单地要求处理C语言里的for、while、if-else这三种特殊结构,而将其他所有句子都当成顺序执行的语句处理。程序体。

2026-01-15 08:28:26 326

原创 PTA团体程序设计天梯赛 L2-016 愿天下有情人都是失散多年的兄妹(Java)(满分不超时)

呵呵。大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人、父母、祖父母、曾祖父母、高祖父母)则不可通婚。本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚?

2026-01-15 08:13:35 403

原创 PTA团体程序设计天梯赛 L2-017 人以群分 (Java)(满分不超时)

社交网络中我们给每个人定义了一个“活跃度”,现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的)。要求两类人群的规模尽可能接近,而他们的总活跃度差距尽可能拉开。

2026-01-15 08:12:01 215

原创 PTA团体程序设计天梯赛 L2-009 抢红包 (Java)(满分不超时)

没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。

2026-01-15 08:10:02 378

原创 PTA团体程序设计天梯赛 L2-027 名人堂与代金券 (Java)(满分不超时)

对于在中国大学MOOC(http://www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,总评成绩必须达到 60 分及以上,并且有另加福利:总评分在 [G, 100] 区间内者,可以得到 50 元 PAT 代金券;在 [60, G) 区间内者,可以得到 20 元PAT代金券。全国考点通用,一年有效。同时任课老师还会把总评成绩前 K 名的学生列入课程“名人堂”。本题就请你编写程序,帮助老师列出名人堂的学生,并统计一共发出了面值多少元的 PAT 代金券。

2026-01-14 13:52:35 451

原创 PTA团体程序设计天梯赛 L2-021 点赞狂魔 (Java)(满分不超时)

如果有并列,则输出标签出现次数平均值最小的那个,题目保证这样的用户没有并列。是不超过8个英文小写字母的非空用户名,1≤K≤1000,Fi​(i=1,⋯,K)是特性标签的编号,我们将所有特性标签从 1 到 107 编号。

2026-01-14 13:51:02 345

原创 PTA团体程序设计天梯赛 L3-014 周游世界 (Java)(满分不超时)

周游世界是件浪漫事,但规划旅行路线就不一定了…… 全世界有成千上万条航线、铁路线、大巴线,令人眼花缭乱。所以旅行社会选择部分运输公司组成联盟,每家公司提供一条线路,然后帮助客户规划由联盟内企业支持的旅行路线。本题就要求你帮旅行社实现一个自动规划路线的程序,使得对任何给定的起点和终点,可以找出最顺畅的路线。所谓“最顺畅”,首先是指中途经停站最少;如果经停站一样多,则取需要换乘线路次数最少的路线。

2026-01-14 13:48:39 410

原创 PTA团体程序设计天梯赛 L2-024 部落 (Java)(满分不超时)

在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。

2026-01-14 13:37:46 404

原创 PTA团体程序设计天梯赛 L2-019 悄悄关注 (Java)(满分不超时)

新浪微博上有个“悄悄关注”,一个用户悄悄关注的人,不出现在这个用户的关注列表上,但系统会推送其悄悄关注的人发表的微博给该用户。

2026-01-14 13:33:31 352

原创 PTA团体程序设计天梯赛 L3-030 可怜的简单题 (Java实现)(满分不超时)

九条可怜去年出了一道题,导致一众参赛高手惨遭团灭。今年她出了一道简单题 —— 打算按照如下的方式生成一个随机的整数数列 A:最开始,数列 A 为空。可怜会从区间 [1,n] 中等概率随机一个整数 i 加入到数列 A 中。如果不存在一个大于 1 的正整数 w,满足 A 中所有元素都是 w 的倍数,数组 A 将会作为随机生成的结果返回。否则,可怜将会返回第二步,继续增加 A 的长度。现在,可怜告诉了你数列 n 的值,她希望你计算返回的数列 A 的期望长度。

2026-01-14 08:38:58 286

原创 PTA团体程序设计天梯赛 L3-031 千手观音 (Java)(满分不超时)

人类喜欢用 10 进制,大概是因为人类有一双手 10 根手指用于计数。于是在千手观音的世界里,数字都是 10 000 进制的,因为每位观音有 1 000 双手 ……千手观音们的每一根手指都对应一个符号(但是观音世界里的符号太难画了,我们暂且用小写英文字母串来代表),就好像人类用自己的 10 根手指对应 0 到 9 这 10 个数字。同样的,就像人类把这 10 个数字排列起来表示更大的数字一样,ta们也把这些名字排列起来表示更大的数字,并且也遵循左边高位右边低位的规则,相邻名字间用一个点分隔,例如。

2026-01-14 08:14:38 396

原创 PTA团体程序设计天梯赛 L3-017 森森快递 (Java)(满分不超时)

代码长度限制16 KB时间限制400 ms内存限制64 MB栈限制8192 KB/*** 【森森快递】* * 思路:* 1. 贪心策略:将所有订单按“右端点 R”升序排列。优先满足结束早的订单,为后续预留更多区间资源。* 2. 存储优化:弃用 Order 对象,使用一个 long 存储 (R << 32 | L),利用 Arrays.sort 对原生类型极快的排序能力。* 3. 结构优化:由于 JVM 瓶颈,递归线段树开销太大。采用非递归线段树,利用位运算循环代替递归。*/

2026-01-14 08:12:26 295

原创 PTA 团体程序设计天梯赛 L3-016 二叉搜索树的结构 (Java)(满分不超时)

二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉搜索树。(摘自百度百科)给定一系列互不相等的整数,将它们顺次插入一棵初始为空的二叉搜索树,然后对结果树的结构进行描述。你需要能判断给定的描述是否正确。

2026-01-14 08:08:58 247

原创 PTA团体程序设计天梯赛 L3-008 喊山 (Java)(满分不超时)

喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的。原来它是彝族先民用来求援呼救的“讯号”,慢慢地人们在生活实践中发现了它的实用价值,便把它作为一种交流工具世代传袭使用。(图文摘自:http://news.xrxxw.com/newsshow-8018.html)一个山头呼喊的声音可以被临近的山头同时听到。题目假设每个山头最多有两个能听到它的临近山头。

2026-01-14 08:02:54 419

原创 PTA团体程序设计天梯赛 L3-007 天梯地图 (Java)(满分不超时)

本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线;一条是最短距离的路线。题目保证对任意的查询请求,地图上都至少存在一条可达路线。

2026-01-13 16:18:25 368

原创 PTA团体程序设计天梯赛 L3-004 肿瘤诊断 (Java)(满分不超时)

在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环。给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积。

2026-01-13 16:06:42 193

原创 PTA团体程序设计天梯赛 L2-034 口罩发放 (Java)(满分不超时)

为了抗击来势汹汹的 COVID19 新型冠状病毒,全国各地均启动了各项措施控制疫情发展,其中一个重要的环节是口罩的发放。某市出于给市民发放口罩的需要,推出了一款小程序让市民填写信息,方便工作的开展。小程序收集了各种信息,包括市民的姓名、身份证、身体情况、提交时间等,但因为数据量太大,需要根据一定规则进行筛选和处理,请你编写程序,按照给定规则输出口罩的寄送名单。

2026-01-13 15:55:25 1155

原创 PTA团体程序设计天梯赛 L2-030 冰岛人(Java)(满分不超时)

2018年世界杯,冰岛队因1:1平了强大的阿根廷队而一战成名。好事者发现冰岛人的名字后面似乎都有个“松”(son),于是有网友科普如下:冰岛人沿用的是维京人古老的父系姓制,孩子的姓等于父亲的名加后缀,如果是儿子就加 sson,女儿则加 sdottir。因为冰岛人口较少,为避免近亲繁衍,本地人交往前先用个 App 查一下两人祖宗若干代有无联系。本题就请你实现这个 App 的功能。

2026-01-13 15:47:13 791

空空如也

空空如也

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

TA关注的人

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