自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 01背包问题的最优方案数

题目描述有n件物品,每件物品的重量为w,价值为c。现在需要选出若干件物品放入一个容量为V的背包中(每件物品至多选一次),使得在选入背包的物品重量之和不超过容量V的前提下,让背包中物品的价值之和最大,求最大价值与对应的最优方案数。输入描述第一行两个整数n​、V(1≤n≤100,1≤V≤10^3​),分别表示物品数量、背包容量;第二行为用空格隔开的n​个整数w(1≤w≤100​),表示物品重量;第三行为用空格隔开的n​个整数c(1≤c≤100​),表示物品价值。输出描述。

2024-03-17 10:37:52 182

原创 完全背包问题

有n种物品,每种物品的重量为w,价值为c。现在需要选出若干件物品放入一个容量为V的背包中(每种物品可以选任意次),使得在选入背包的物品重量之和不超过容量V​​的前提下,让背包中物品的价值之和最大,求最大价值。第一行两个整数n​、V(1≤n≤100,1≤V≤103​),分别表示物品数量、背包容量;第三行为用空格隔开的n个整数c(1≤c≤100​),表示物品价值。第二行为用空格隔开的n个整数w(1≤w100​),表示物品重量;输出一个整数,表示最大价值。

2024-03-17 10:22:26 214

原创 这是二叉搜索树吗?

一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点,所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。给定一个整数键值序列,现请你编写程序,判断这是否是对一棵二叉搜索树或其镜像进行前序遍历的结果。

2024-03-16 22:10:44 325

原创 (差分)胡桃爱原石

琴团长带领着一群胡桃准备出征,进攻丘丘人,出征前,琴团长根据不同胡桃的战力,发放原石作为军饷,琴团长分批次发放,每批次会给连续的几个胡桃发放相同的原石,琴团长最后想知道给每个胡桃发放了多少原石?

2024-03-13 14:42:57 447

原创 矩阵最大权值

现有一个n∗m大小的矩阵,矩阵中的每个元素表示该位置的权值。现需要从矩阵左上角出发到达右下角,每次移动只能向上下左右移动一格(不允许移动到曾经经过的位置)。求最后到达右下角时路径上所有位置的权值之和的最大值。接下来n​​​行,每行m个整数(−100≤​​整数≤100​​​),表示矩阵每个位置的权值。第一行两个整数n、m(2≤n≤5,2≤m≤5​​​),分别表示矩阵的行数和列数;一个整数,表示权值之和的最大值。

2024-03-11 17:10:23 390

原创 迷宫可行路径数

每次移动只能向上下左右移动一格(不允许移动到曾经经过的位置),且只能移动到平地上。求从迷宫左上角到右下角的所有可行路径的条数。第一行两个整数n、m​​​(2≤n≤5,2≤m≤5​​​),分别表示迷宫的行数和列数;现有一个n∗m大小的迷宫,其中。接下来n行,每行m个整数(值为。一个整数,表示可行路径的条数。表示不可通过的墙壁,

2024-03-11 16:45:30 485

原创 玩转二叉树(建树+镜面翻转)

给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。

2024-03-10 20:28:21 245

原创 二叉树的高度

的结点的左子结点编号和右子结点编号,中间用空格隔开。如果不存在对应的子结点,那么用。第一行一个整数n(1≤n≤50​​​​),表示二叉树的结点个数;接下来n行,每行一个结点,按顺序给出编号从。现有一棵n个结点的二叉树(结点编号为从。输出一个整数,表示二叉树的高度。号结点),求这棵二叉树的高度。

2024-03-10 15:22:18 177

原创 二叉树的层序遍历

的结点的左子结点编号和右子结点编号,中间用空格隔开。如果不存在对应的子结点,那么用。输出n个整数,表示层序遍历序列,中间用空格隔开,行末不允许有多余的空格。第一行一个整数n(1≤n≤50​​​​),表示二叉树的结点个数;接下来n行,每行一个结点,按顺序给出编号从。现有一棵n个结点的二叉树(结点编号为从。号结点),求这棵二叉树的层序遍历序列。

2024-03-10 14:33:05 205

原创 二叉树的后序遍历

的结点的左子结点编号和右子结点编号,中间用空格隔开。如果不存在对应的子结点,那么用。输出n个整数,表示后序遍历序列,中间用空格隔开,行末不允许有多余的空格。第一行一个整数n(1≤n≤50​​​​),表示二叉树的结点个数;接下来n行,每行一个结点,按顺序给出编号从。现有一棵n个结点的二叉树(结点编号为从。号结点),求这棵二叉树的后序遍历序列。

2024-03-10 14:21:23 189

原创 二叉树的中序遍历

第一行一个整数n​​​​​​​​(1≤n≤50​​​​​​​​​​​),表示二叉树的结点个数;的结点的左子结点编号和右子结点编号,中间用空格隔开。如果不存在对应的子结点,那么用。输出n个整数,表示中序遍历序列,中间用空格隔开,行末不允许有多余的空格。接下来n行,每行一个结点,按顺序给出编号从。现有一棵n个结点的二叉树(结点编号为从。号结点),求这棵二叉树的中序遍历序列。

2024-03-10 14:12:58 296

原创 二叉树的先序遍历

的结点的左子结点编号和右子结点编号,中间用空格隔开。如果不存在对应的子结点,那么用。输出n个整数,表示先序遍历序列,中间用空格隔开,行末不允许有多余的空格。第一行一个整数n(1≤n≤50​​​​),表示二叉树的结点个数;接下来n行,每行一个结点,按顺序给出编号从。现有一棵n个结点的二叉树(结点编号为从。号结点),求这棵二叉树的先序遍历序列。

2024-03-10 14:02:36 237

原创 二叉树的遍历

给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。

2024-03-09 18:34:54 172

原创 01背包问题的最优方案数

有n件物品,每件物品的重量为w,价值为c。现在需要选出若干件物品放入一个容量为v的背包中(每件物品至多选一次),使得在选入背包的物品重量之和不超过容量v的前提下,让背包中物品的价值之和最大,求最大价值与对应的最优方案数。输出两个整数,分别表示最大价值与最优方案数,中间用空格隔开。第一行两个整数n​、v(1≤n≤100,1≤v≤10^3​),分别表示物品数量、背包容量;第二行为用空格隔开的n个整数w(1≤w≤100​),表示物品重量;第三行为用空格隔开的n个整数c(1≤c≤100​),表示物品价值。

2024-03-09 14:26:48 197

原创 01背包问题的方案数

有n​件物品,每件物品的重量为w​。现在需要选出若干件物品放入一个容量为v​的背包中(每件物品至多选一次),使得选入背包的物品重量之和恰好等于容量v​​​​。求满足条件的方案数。第一行两个整数n​、v​(1≤n≤100,1≤v≤10^3​),分别表示物品数量、背包容量;输出一个整数,表示方案数。由于结果可能很大,因此将结果对10007取模后输出。第二行为用空格隔开的n​个整数w(1≤w≤10​),表示物品重量。

2024-03-09 13:22:00 246

原创 加勒比海盗船——最优装载问题

在北美洲东南部,有一片神秘的海域,那里碧海 蓝天、阳光明媚,这正是传说中海盗最活跃的加勒比 海(Caribbean Sea)。17 世纪时,这里更是欧洲大陆 的商旅舰队到达美洲的必经之地,所以当时的海盗活 动非常猖獗,海盗不仅攻击过往商人,甚至攻击英国 皇家舰……有一天,海盗们截获了一艘装满各种各样古董的 货船,每一件古董都价值连城,一旦打碎就失去了它 的价值。虽然海盗船足够大,但载重量为 C,每件古 董的重量为 wi,海盗们该如何把尽可能多数量的宝贝 装上海盗船呢?

2024-03-08 13:50:39 224

原创 0/1背包问题

0/1背包问题。给定一载重量为m的背包及n个重量为wi、价值为pi的物体,1≤i≤n,要求把物体装入背包,使背包的物体价值最大。

2024-03-08 13:27:29 150

原创 0-1背包(加强版,并输出物体编号)

一个旅行者有一个最多能装 M 公斤的背包,现在有 n 件物品,它们的重量分别是W1,W2,...,Wn,它们的价值分别为C1,C2,...,Cn,求旅行者能获得最大总价值。

2024-03-08 13:25:57 161

原创 繁忙的都市

城市 C 是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造。城市 C 的道路是这样分布的:城市中有 n 个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条道路相连接。这些道路是双向的,且把所有的交叉路口直接或间接的连接起来了。每条道路都有一个分值,分值越小表示这个道路越繁忙,越需要进行改造。但是市政府的资金有限,市长希望进行改造的道路越少越好,于是他提出下面的要求:改造的那些道路能够把所有的交叉路口直接或间接的连通起来。

2024-03-07 14:42:37 155

原创 PTA德才论

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。现给出一批考生的德才分数,请根据司马光的理论给出录取排名。

2024-03-07 14:24:11 298

原创 因式分解(递归)

将大于1的自然数N进行因式分解,计算N的所有形式不同的因式分解方案总数。例如,N=12,共有8种分解方案,它们分别是12=1212=6*212=4*312=3*412=3*2*212=2*612=2*3*212=2*2*3。

2024-03-07 13:28:47 187

原创 前t个组合结果

组合结果找出从自然数1、2、... 、n(0<n<=30)中任取r(0<r<=n)个数的组合,输出其中前t个组合结果。

2024-03-07 13:10:02 215

原创 输出全排列

请编写程序输出前n个正整数的全排列(n

2024-03-07 13:07:18 192 1

原创 L2-021 点赞狂魔

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

2024-03-05 16:22:49 151 1

原创 L2-025 分而治之

分而治之,各个击破是兵家常用的策略之一。在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破。为此参谋部提供了若干打击方案。本题就请你编写程序,判断每个方案的可行性。

2024-03-05 16:15:09 261 1

原创 L2-019 悄悄关注

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

2024-03-04 16:48:13 128

原创 愿天下有情人都是失散多年的兄妹

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

2024-03-04 10:35:52 334

原创 PTA路径判断

给定一个有N个顶点和E条边的无向图,请判断给定的两个顶点之间是否有路径存在。假设顶点从0到N−1编号。

2024-03-02 21:26:30 133 1

原创 7-4 任意进制下的可逆素数

任意进制下的可逆素数是这样定义的:它自身是一个素数,当它转换为任意进制之后,把所有数字逆序,得到的新数字的值仍然是一个素数。比如,73在十进制下是一个素数,它在十进制下的逆37也是一个素数,那就称它是十进制下是一个可逆素数。

2024-02-27 08:52:59 223

原创 L1-094 剪切粘贴

使用计算机进行文本编辑时常见的功能是剪切功能(快捷键:Ctrl + X)。请实现一个简单的具有剪切和粘贴功能的文本编辑工具。abcdefgcdeabfgbfgabfcdeg每次操作后的字符串即为新的当前字符串。在若干次操作后,请给出最后的编辑结果。

2024-02-02 20:53:28 261

原创 三种字符数组输入方式的区别

scanf()有%c和%s两种,%c用于输入单个字符,可以识别空格和换行符,而%s用于输入一个字符串并存在字符数组里,不可以识别空格和换行符,也就是说遇到空格或换行符的时候就结束输入了,不会再读取到后面的字符。gets()用来输入一个字符串,可以识别空格但是不能识别换行,以换行为结束输入的标志。如果想在scanf()后使用gets(),需要先用一个getchar()接收换行符,然后再用gets().getchar()用于输入单个字符,可以识别空格和换行符,很多时候用来吃掉上一个输入的换行或空格。

2024-01-10 23:14:29 443 1

原创 树的先序遍历

的结点的左子结点编号和右子结点编号,中间用空格隔开。如果不存在对应的子结点,那么用。输出n个整数,表示先序遍历序列,中间用空格隔开,行末不允许有多余的空格。第一行一个整数n(1≤n≤50​​​​),表示二叉树的结点个数;接下来n行,每行一个结点,按顺序给出编号从。现有一棵n个结点的二叉树(结点编号为从。号结点),求这棵二叉树的先序遍历序列。

2023-11-25 20:35:13 45

原创 7-51 生化危机

人类正在经历一场生化危机,许多城市已经被病毒侵袭,这些城市中的人们为了避免感染病毒,计划开车逃往其他没有被病毒入侵的城市(安全城市)。有些城市之间有公路直达,有些没有。虽然他们知道哪些城市是安全的,但是不知道有没有一条安全路径能够到达安全城市(只有该路径上经过的所有城市都是安全的,该路径才是安全路径)。请你编写一个程序帮助他们判断。

2023-08-10 21:08:39 48 1

原创 7-53 镖局运镖(kruskal算法)

镖局的运镖,就是运货(类似现在的物流)。镖局每到一个新地方开展业务,都需要对运镖途中的绿林好汉进行打点。好说话的打点费就比较低,不好说话的打点费就比较高。龙门镖局现在有一趟镖请你来规划路线,已知城市的地图,你需要选择一些道路进行疏通,以便镖局可以到达任意一个城市,要求花费的银子越少越好。

2023-08-07 23:23:12 279 1

原创 7-15 最近距离

在一个游戏中,玩家处于一个如下所示12行12列的迷宫:其中迷宫由0,1组成,0表示道路,1表示障碍物。现在要根据玩家和游戏中被攻击的虚拟boss所在位置,给玩家以最近距离的提示。最近距离:即玩家走到boss所走的最少步数。(注:路线中的一步是指从一个坐标点走到其上下左右相邻坐标点。

2023-08-06 21:18:13 54 1

原创 7-69 Dijkstra算法(模板)

给一个n(1 ≤ n ≤ 2500) 个点 m(1 ≤ m ≤ 6200) 条边的无向图,求 s 到 t 的最短路。

2023-08-05 21:10:58 43 1

原创 7-40 最短工期

一个项目由若干个任务组成,任务之间有先后依赖顺序。项目经理需要设置一系列里程碑,在每个里程碑节点处检查任务的完成情况,并启动后续的任务。现给定一个项目中各个任务之间的关系,请你计算出这个项目的最早完工时间。

2023-08-03 20:41:47 62

原创 7-23 文件传输

当两台计算机双向连通的时候,文件是可以在两台机器间传输的。给定一套计算机网络,请你判断任意两台指定的计算机之间能否传输文件?

2023-07-30 21:23:34 32 1

原创 7-12 功夫传人

一门武功能否传承久远并被发扬光大,是要看缘分的。一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子(或者是吃到了灵丹、挖到了特别的秘笈),会将功夫的威力一下子放大N倍 —— 我们称这种弟子为“得道者”。这里我们来考察某一位祖师爷门下的徒子徒孙家谱:假设家谱中的每个人只有1位师傅(除了祖师爷没有师傅);每位师傅可以带很多徒弟;并且假设辈分严格有序,即祖师爷这门武功的每个第i代传人只能在第i-1代传人中拜1个师傅。

2023-07-30 21:21:20 37 1

原创 7-11 排座位

布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。

2023-07-30 21:17:31 36 1

空空如也

空空如也

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

TA关注的人

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