
PTA
月光下的魔术师
这个作者很懒,什么都没留下…
展开
-
基础实验4-2.4 搜索树判断 (25point(s))
PTA基础实验4-2.4搜索树判断(25point(s))题意给出一棵树的前序遍历或者镜像的前序遍历,判断是否是二叉树,如果是,输出后序遍历。题解如果是一棵二叉树,那么通过前序+中序可以构建,中序升序排列。 最后判断二叉树是否完整以及叶子的大小是否符合规则 对于镜像,中序是降序。用同样的方式实现。代码#include <bits/stdc++.h>usi...原创 2020-04-27 13:21:02 · 530 阅读 · 1 评论 -
哈夫曼编码
PTA哈夫曼编码题意:给定每个单词出现的频率,给出一套编码,判断是否满足哈夫曼编码。题解:通过单词出现的频率计算wpl。可以通过c++的stl优先队列快速处理。 然后计算编码的wpl是否满足,以及是否存在编码前缀嵌套的情况。代码#include <bits/stdc++.h>using namespace std;int const N = 65;type...原创 2020-04-26 17:18:02 · 474 阅读 · 0 评论 -
PTA 1131 Subway Map (25/30 分)
https://pintia.cn/problem-sets/994805342720868352/problems/994805347523346432题意:经过最少的站,如果经过的站数相同,那么换乘数量最少。题解:我是用dijkstra的算法,记录路径,此节点的父节点和上一条线路。但是始终只有25分。求大佬指点。代码#include <bits/stdc++.h&g...原创 2019-11-04 21:02:42 · 205 阅读 · 0 评论 -
AVL树的构造和完全二叉树的判断
https://pintia.cn/problem-sets/994805342720868352/problems/994805351302414336AVL树的构造和完全二叉树的判断记录一下,以后方便复习AVL树的构造是模板题。 完全二叉树的判断:层次遍历,如果出现一个结点不存在左或右儿子,标记一下。如果又出现一个这样的结点,那么就不是完全二叉树。代码:#include ...原创 2019-11-03 17:57:17 · 666 阅读 · 0 评论 -
PTA1082 Read Number in Chinese (25 分)
https://pintia.cn/problem-sets/994805342720868352/problems/994805385053978624题解:模拟很复杂,以下介绍一种简单的递归调用的方法。先处理长度在[1,4]的情况,为solve1()函数。从高位开始,每一位输出数字和对应的位的发音(qian、bai、shi)。如果出现0不要急着输出,记录0一直持续到的位置,如果持续到最...原创 2019-11-01 22:12:52 · 171 阅读 · 0 评论 -
PTA L2-018 多项式A除以B:模拟
题解模拟多项式的除法。 注意精度问题和0多项式。代码#include <bits/stdc++.h>using namespace std;int const N = 100000 + 10;double const eps = 1e-8;double const eps2 = 0.05;int n,e,cnt1,cnt2;double a[N],b[N],c...原创 2019-03-27 15:28:47 · 571 阅读 · 0 评论 -
二叉树前序、中序、后序、层次遍历之间的转换
PTA:L2-011 玩转二叉树题解:由中序遍历和先序遍历得到二叉树。镜面反转,层次遍历,先右后左。代码:#include <bits/stdc++.h>using namespace std;int const N = 10000;int const inf = 0x7f7f7f7f;int n,pre[N],in[N],pos;struct Node...原创 2019-03-10 10:47:39 · 931 阅读 · 0 评论 -
PTA 1016 Phone Bills (25 分)
模拟题,细节很多,操作麻烦,实属不易,纪念一下。重要是细节的处理如果没有花费不必输出。 对于每一个人,把off和on分别储存在两个结构体中,结构体保存对应的时间。 对于匹配的一对,可以先找到on[i]对应的下一个最近的off[f],在验证off[j]上一个最近的on是非为on[i]。 处理花费,一秒一秒加。cent转dollor要除以100。代码#include <bi...原创 2019-10-30 09:50:36 · 170 阅读 · 0 评论 -
PTA 1043 Is It a Binary Search Tree (25 分)
题意:判断所给的前序是否构成BST或者Mirror Imageof a BST.题解: 如果是BST,那么直接根据前序和中序找到后序。中序为升序排列。 如果镜像BST,那么中序为降序排列。 注意在solve函数中如果是直接找BST树,那么第一个找的的就是此结点。如果镜像,那么最后一个才是。 #include <bits/stdc++.h>usin...原创 2019-10-29 22:03:55 · 269 阅读 · 0 评论 -
PTA 1068 Find More Coins (30 分)
1068Find More Coins(30分)题意:找出和为m的序列,且满足字典序最小。题解:背包问题。dp[i][j]表示没有第i个物品,价值≤j的最大价值。choice[i][j]是否存在。 对硬币从大到小排序。保证最后拿的价值最小,字典序最小。 最后开始倒着选择,找出答案。代码:#include <bits/stdc++.h>using name...原创 2019-10-26 19:15:04 · 219 阅读 · 0 评论