题目集
文章平均质量分 73
Geometry Fu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
相似度分析 第33次CCF计算机软件能力认证 第2题) (C++完整代码+题目分析)
试编写程序帮助小 P 完成前两步,计算出 |A∩B| 和 |A∪B|;对于给定的两篇文章,小 P 首先需要提取出两者的单词集合 A 和 B,即去掉各自重复的单词。除了进行简单的词频统计,小 P 还希望使用 Jaccard 相似度来评估两篇文章的相似性。第一行输出一个整数 |A∩B|,即有多少个不同的单词同时出现在两篇文章中;第二行输出一个整数 |A∪B|,即两篇文章一共包含了多少个不同的单词。输入的第一行包含两个正整数 n 和 m,分别表示两篇文章的单词个数。即交集的大小除以并集的大小。原创 2025-03-20 20:41:27 · 1138 阅读 · 0 评论 -
动态规划DP 数字三角形模型 传纸条(题目分析+C++完整代码)
接下来的 m行是一个 m×n的矩阵,矩阵中第 i行 j列的整数表示坐在第 i行 j列学生的好心程度,每行的 n个整数之间用空格隔开。一次素质拓展活动中,班上同学安排坐成一个 m行 n 列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。有高有低(注意:小渊和小轩的好心程度没有定义,输入时用 0表示),可以用一个 0∼100的自然数来表示,数越大表示越好心。,也就是说如果此人在小渊递给小轩纸条的时候帮忙,那么在小轩递给小渊的时候就不会再帮忙,反之亦然。,从小轩传给小渊的纸条只可以。原创 2025-01-27 22:18:24 · 1192 阅读 · 0 评论 -
动态规划DP 数字三角型模型 方格取数(题目详解+C++代码实现)
接下来的每行有三个整数,第一个为行号数,第二个为列号数,第三个为在该行、该列上所放的数。设有 N×N 的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。某人从图中的左上角 A 出发,可以向下行走,也可以向右行走,直到到达右下角的 B 点。但需要注意的是,当两条路径走到同一个格子时,一个方格中的数字只能被取一次,则如何处理“在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。输出一个整数,表示两条路径上取得的最大的和。,表示两条路径走到的格子的横纵坐标。原创 2025-01-27 22:16:19 · 1328 阅读 · 0 评论 -
动态规划DP 数字三角型模型 最低通行费用(题目详解+C++代码完整实现)
同时,在状态计算的过程当中,路径一定过起点(1,1),因此,f[1][1]的状态值不由f[0][1]或者f[1][0]得到,而是直接赋值为 w[1][1]。后面 N行,每行 N个不大于 100的正整数,为网格上每个小方格的费用。一个商人穿过一个 N×N的正方形的网格,去参加一个非常重要的商务活动。样例中,最小值为 109=1+2+5+7+9+12+19+21+33。路径不可能来自第一列的左侧,f[i][0] 初始化为INF。路径不可能来自第一行的上侧,f[0][j] 初始化为INF。请问至少需要多少费用?原创 2025-01-27 22:14:01 · 444 阅读 · 0 评论 -
动态规划DP 数字三角形模型 摘花生(题目详解+C++完整代码)
每组数据的接下来R行数据,从北向南依次描述每行花生苗的情况。每行数据有C个整数,按从西向东的顺序描述了该行每株花生苗上的花生数目M。题目分析可知,只能向东或向南走即向左或向下走,则对于任一点 (i,j) 来说,上一个点只能来自左边或上边(地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。对每组输入数据,输出一行,内容为Hello Kitty能摘到得最多的花生颗数。每组数据的第一行是两个整数,分别代表花生苗的行数R和列数 C。,不能向西或向北走。原创 2025-01-27 22:10:57 · 469 阅读 · 0 评论 -
动态规划DP 数字三角型模型 数字三角形
给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。题目分析可知,只能向左下走或向右下走,则对于任一点 (i,j) 来说,上一个点只能来自左上或右上(接下来 n行,每行包含若干整数,其中第 i 行表示数字三角形第 i 层包含的整数。)来表示所有从 (1,1) 走到 (i,j) 的路线(状态计算可知,f[i,j] 取为二者的最大值。第一行包含整数 n,表示数字三角形的层数。i,j的划分如下图所示。原创 2025-01-27 22:09:04 · 423 阅读 · 0 评论 -
PTA 7-3 树的同构
给定两棵树 T1 和 T2。如果 T1 可以通过若干次左右孩子互换就变成 T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。图2现给定两棵树,请你判断它们是否是同构的。输入给出2棵二叉树的信息。对于每棵树,首先在一行中给出一个非负整数 n (≤10),即该树的结点数(此时假设结点从 0 到 n−1 编号);原创 2024-12-21 16:49:01 · 620 阅读 · 0 评论 -
PTA 7-4 是否为同一棵二叉搜索树
给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10)和L,分别是每个序列插入元素的个数和需要检查的序列个数。第2行给出N个以空格分隔的正整数,作为初始插入序列。随后L行,每行给出N个插入的元素,属于L个需要检查的序列。原创 2024-12-22 20:38:35 · 489 阅读 · 0 评论 -
二叉树路径和(题目分析+C++代码完整实现)
编写程序找出,二叉树结点为不等于0的整数。本题的“路径”定义为二叉树中的结点序列vi,...,vj,序列中,但路径。路径的和定义为该路径所包含的所有结点的数据值之和。输入为一组用空格间隔的整数,个数不超过100个,表示带空指针信息的二叉树先根序列。输出为两行,第一行为该二叉树路径和的最大值,第二行为一组整数,每个整数后一个空格,表示该最大路径包含的结点值(按所在层数递增顺序输出)。如果存在多条满足条件的路径,则输出最短(包含结点个数最少)者,如果存在多条最短的路径,则输出最靠左上者。41 3。原创 2025-01-21 15:12:31 · 463 阅读 · 0 评论 -
罪犯帮派(并查集)(题目分析+C++代码完整实现)
Tabu市的警察局决定结束混乱,因此要采取行动根除城市中的几大帮派。目前的问题是,给出两个罪犯,他们是么?城市里一共有多少个帮派?假设在Tabu市现有n名罪犯,编号为1到n,给出m条消息表示属于同一帮派的两个罪犯编号。请基于这些不完全的信息帮助警方计算出他们想要的信息。输入第一行为三个正整数,n、m和q。n为罪犯数;m为给出的已知信息数量;q为查询数。接下来m行,每行2个正整数a和b,表示罪犯a和罪犯b属于同一帮派。接下来q行,每行2个正整数c和d,即查询罪犯c和d是否属于同一帮派。原创 2025-01-21 15:11:28 · 361 阅读 · 0 评论 -
哈夫曼树(构建、编码、译码)(详细分析+C++代码实现)
编写一个哈夫曼编码译码程序。针对一段文本,根据文本中字符出现频率构造哈夫曼树,给出每个字符的哈夫曼编码,并进行译码,计算编码前后文本大小。输入为3行。第1行为一个字符串,包含不超过5000个字符,至少包含两个不同的字符,每个字符为a-z的小写字母。第2、3行为两个由0、1组成的字符串,表示待译码的哈夫曼编码。输出第一行为用空格间隔的2个整数,分别为压缩前后文本大小,以字节为单位,一个字符占1字节,8个二进制位占1字节,若压缩后文本不足8位,则按1字节算。原创 2025-01-21 15:10:26 · 1083 阅读 · 0 评论 -
最右子表达式(后缀表达式得到表达式树)(题目分析+C++完整代码实现)
表达式可以对应一个树结构,称为表达式树。其中的叶结点对应表达式中的操作数,非叶结点对应运算符,假定所有运算均为二元运算。根据后缀表达式可以构造出表达式二叉树,方法是:从左向右扫描后缀表达式,每扫描到一个符号就生成一个二叉树结点,该符号作为结点的数据域值;若扫描到的符号是操作数,则将此操作数结点压栈;若扫描到的符号是运算符,则从栈中弹出两个结点,分别作为当前运算符结点的右、左孩子,再将当前运算符结点压栈。表达式扫描完成后,栈顶即为表达式树的根结点。表达式树的后根序列即为后缀表达式。现给定一个后缀表达式exp,原创 2025-01-21 15:08:53 · 364 阅读 · 0 评论 -
中根序列和后跟序列重建二叉树(题目分析+C++代码完整实现)
在该结点之前的为其左右子树的所有结点。中根序列:左-根-右,则只要找到根结点,则序列中位于根的。原创 2025-01-21 15:06:55 · 822 阅读 · 0 评论 -
二叉树删除子树 (题目分析+C++代码实现)
输入第1行为一组用空格间隔的整数,表示带空指针信息的二叉树先根序列,其中空指针信息用0表示。例如1 5 8 0 0 0 6 0 0表示如下图的二叉树。接下来m行,每行一个不等于0的整数K,表示要删除以K为根的子树。编写程序对给定二叉树执行若干次删除子树操作,输出每次删除子树后剩余二叉树的中根序列。二叉树结点的数据域值为不等于0的整数。输出为m行,每行为一组整数,表示执行删除操作后剩余二叉树的中根序列(中根序列中每个整数后一个空格)。若要删除的子树不在当前二叉树中,则该行输出0(0后无空格)。原创 2025-01-21 15:05:14 · 556 阅读 · 0 评论 -
小龙猜数字(KMP算法)(题目分析+C++代码实现)
我们称一个字符串的秩为:该字符串长度减去该字符串的最短相等前后缀的长度。若该字符串不存在相等的前后缀,则其秩为0。例如:abcabcxabcabc最短相等前后缀为abc,该字符串的秩为10。Pororo和小龙玩猜字游戏,Pororo给出一个字符串S,小龙需计算S及S中所有前缀子串的秩之和。请编写程序帮助小龙猜数字。输入为2行,第1行为字符串S的长度,第2行为具体的字符串。字符串长度不超过106。输出 一个整数表示字符串S及其所有前缀的秩之和。原创 2025-01-21 15:00:16 · 430 阅读 · 0 评论 -
字母游戏(KMP算法)(题目分析+C++代码实现)
波比和哈丽在玩一个字母游戏,波比给出一个字符串S,要求哈丽按照一定规则,基于该字符串算出一个数字X。规则是:(1)求出S的最长重复后缀P(P是S的后缀且在S中出现大于1次,例如yacbacba的最长重复后缀是acba),(2)求出在S中去除第二长相等前后缀(S中所有相等的前后缀中第2长者,例如abcabcxxxabcabc中最长相等前后缀是abcabc,第二长的相等前后缀则是abc)后剩下的子串Q(例如abcabcxxxabcabc去除第二长相等前后缀后,剩下abcxxxabc)。原创 2025-01-21 14:59:20 · 710 阅读 · 0 评论 -
EDG(KMP算法)(详细分析+C++代码实现)
2021年11月6日,英雄联盟全球总决赛打响,中国电子竞技战队Edward Gaming(EDG)以3:2力克韩国强敌DWG KIA(DK)战队,历史上首次夺得全球总冠军。一时间全网沸腾,大家纷纷在社交平台上直呼“edgnb”。现给定一段文本,请编写程序识别出连续的k个“edgnb”组成的字符串在该文本中出现了多少次。第一行为1个整数T,表示数据组数。对于每组数据,第一行为1个字符串,表示给定的文本。第二行为1个整数k,含义如题目所述。(1≤T≤10。原创 2025-01-21 14:57:48 · 485 阅读 · 0 评论 -
表达式求值(栈实现中缀表达式)(详细分析+C++代码实现)
给定一个中缀表达式,请编写程序计算该表达式的值。表达式包含+、-、*、/、^、(、),所有运算均为二元运算,操作数均为正整数,但可能不止一位,不超过10位。运算结果为整数,值域为[−231,231)。除法运算结果若为小数则进行截尾取整。若除法运算中除数为0,则输出INVALID。幂运算须自行实现,不允许调用pow等系统函数。测试数据保证幂运算中指数为非负,底数不为0。输入为多行,每行为一个长度不超过1000的字符串,表示中缀表达式。对每个表达式输出一行:为一个整数(表达式的值)或为一个字符串INVALID。原创 2025-01-21 14:56:04 · 815 阅读 · 0 评论 -
调皮的哈利(链表)(题目分析+C++代码实现)
在一次贝蒂打字时,调皮的哈利常常趁贝蒂不注意按下Home键、End键、左右方向键和退格键。当Home键被按下时,输入光标会跳到文本最开头;当退格键被按下时,输入光标左面的一个字符会被删除。现给出贝蒂和哈利按键的字符串,其中'{'表示Home键,'}'表示End键,'<'表示左方向键,'>'表示右方向键,'#'表示退格键,其余字符均表示输入的内容,请输出屏幕上最终显示的文本。输入一个字符串,长度不超过5×104,包含大小写字母、空格、下划线、{、}、<、>、#,表示贝蒂和哈利的按键序列。原创 2025-01-21 14:53:58 · 180 阅读 · 0 评论 -
括号匹配(进阶版)(题目分析+C++代码实现)
编写程序检查给定字符串中包含的括号是否正确匹配,本题中的括号有{ }、[ ]、( )、< >四种。另外再加上一个新的约束条件:当有多种括号嵌套时,嵌套的顺序应为{ → [ → ( → <,即a–g+b∗[(d∗<e–f>)]、a+[b+(c–d)∗e]都是正确的匹配,而a+(b∗[c+d])则不是正确匹配。注意本题不允许相同类型括号的嵌套,即a+(b∗(c+d))不是正确匹配。本题不需要判断表达式是否合法,只需判断字符串中包含的括号是否正确匹配。第一行为一个整数n,表示字符串的个数。原创 2025-01-21 14:51:40 · 398 阅读 · 0 评论
分享