PAT甲级真题及训练集

正好这个“水水”的C4来了 先把甲级刷完吧。(开玩笑-2017.3.26)
这是一套“伪题解”。

wacao 刚才登出账号测试一下代码链接,原来是看不到。。有空弄题(xia)解(che)。。

//“今天”的“收获”:

BST的中序遍历特性;栈那题利用树状数组+二分维护;哇咔咔,题意真难,根据案例猜题意。好吧,反正我又不考。不如睡觉?

出现了基础的二级最短路;

对DFS联通快愣了一下。。
哇塞呀!模拟题还是很劲的!
哇塞呀,手写堆,手写归并排序
二分满足条件的最右也不会打了+++++难道这都不知道了???(+1 Left=Mid).

BST的建树(不就是二叉树的建树)也建错了。。。哎,好菜啊!!!记得要返回呀呀呀。

栈的模拟都不熟练了??栈空,栈满?利用栈进出,不管怎么样就是要经过栈???

哇!BFS  + 快速幂 各种乱搞 然后过了??? 感觉数据弱。。。

现在模拟是怎么麻烦怎么打了???

数据结构的题都基础的不会写啦写啦,要复习!复习!



时间

3月03日 15:07
 答案正确 201001C++ (g++ 4.7.2)9384keyboarder
3月03日 16:22
 答案正确 201005C++ (g++ 4.7.2)7384keyboarder
3月03日 16:36
 答案正确 201008C++ (g++ 4.7.2)5384keyboarder
3月03日 18:43
 答案正确 251002C++ (g++ 4.7.2)6384keyboarder
3月03日 19:53
 答案正确 301099C++ (g++ 4.7.2)9384keyboarder
3月03日 20:09
 答案正确 251093C++ (g++ 4.7.2)7512keyboarder
3月03日 20:38
 答案正确 201092C++ (g++ 4.7.2)5384keyboarder
3月04日 00:21
 答案正确 301057C++ (g++ 4.7.2)611280keyboarder
3月04日 00:33
 答案正确 251007C++ (g++ 4.7.2)8400keyboarder
3月04日 09:45
 答案正确 201011C++ (g++ 4.7.2)4384keyboarder
3月04日 11:45
 答案正确 251012C++ (g++ 4.7.2)9640keyboarder
3月04日 19:44
 答案正确 201015C++ (g++ 4.7.2)7384keyboarder
3月04日 19:56
 答案正确 201031C++ (g++ 4.7.2)10384keyboarder
3月04日 20:19
 答案正确 301030C++ (g++ 4.7.2)6384keyboarder
3月04日 20:50
 答案正确 251003C++ (g++ 4.7.2)8392keyboarder
3月04日 21:28
 答案正确 301004C++ (g++ 4.7.2)8404keyboarder
3月04日 21:36
 答案正确 251006C++ (g++ 4.7.2)11384keyboarder
3月04日 21:49
 答案正确 251009C++ (g++ 4.7.2)13384keyboarder
3月04日 22:21
 答案正确 251013C++ (g++ 4.7.2)1294404keyboarder

3月11日 10:00

 答案正确 251025C++ (g++ 4.7.2)452176keyboarder
3月11日 10:11
 答案正确 251028C++ (g++ 4.7.2)844984keyboarder
3月11日 11:06
 答案正确 301087C++ (g++ 4.7.2)5384keyboarder
3月12日 16:36
 答案正确 251098C++ (g++ 4.7.2)13384keyboarder
3月12日 18:58
 答案正确 201081C++ (g++ 4.7.2)6384keyboarder
3月15日 00:05
 答案正确 251089C++ (g++ 4.7.2)16384keyboarder
3月19日 09:02
 答案正确 201084C++ (g++ 4.7.2)10384keyboarder
3月19日 09:12
 答案正确 251085C++ (g++ 4.7.2)381152keyboarder
3月19日 09:33
 答案正确 301045C++ (g++ 4.7.2)11384keyboarder
3月19日 10:17
 答案正确 251043C++ (g++ 4.7.2)9384keyboarder
3月20日 10:20
 答案正确 251036C++ (g++ 4.7.2)6384keyboarder
3月20日 10:36
 答案正确 201046C++ (g++ 4.7.2)25796keyboarder
3月20日 10:59
 答案正确 251020C++ (g++ 4.7.2)8512keyboarder
3月20日 12:20
 答案正确 251086C++ (g++ 4.7.2)10384keyboarder
3月20日 18:45
 答案正确 251078C++ (g++ 4.7.2)271912keyboarder
3月20日 23:12
 答案正确 251059C++ (g++ 4.7.2)171664keyboarder
3月20日 23:38
 答案正确 251051C++ (g++ 4.7.2)5384keyboarder
3月20日 23:46
 答案正确 251040C++ (g++ 4.7.2)6512keyboarder
3月21日 16:38
 答案正确 251090C++ (g++ 4.7.2)322816keyboarder
3月21日 16:51
 答案正确 251071C++ (g++ 4.7.2)2482564keyboarder
3月22日 00:00
 答案正确 251060C++ (g++ 4.7.2)8384keyboarder




转载于:https://www.cnblogs.com/keyboarder-zsq/p/6777391.html

### 关于 PAT 甲级真题 1165 的分析 目前并未找到具体针对 PAT 甲级真题编号为 **1165** 的原题内容或详细解析。然而,基于已有的参考资料以及 PAT 考试的特点,可以推测该题目可能涉及常见的算法设计实现问题。 #### 可能的主题方向 根据以往的 PAT 甲级考试趋势,编号为 **1165** 的题目可能会覆盖以下几个方面之一: - 数据结构操作(链表、树、图等) - 字符串处理 - 数学计算(分数化简、质因数分解等) - 排序查找算法的应用 以下是几个常见主题的具体例子及其解决思路: --- ### 示例:字符串处理类问题 如果 **1165** 是关于字符串的操作,则可能是如下形式的问题: > 输入一段文字,统计其中单词的数量并按字典顺序输出这些单词。 解决方案可以通过以下 Python 实现完成: ```python import sys from collections import Counter def count_words(): text = sys.stdin.read().strip() words = re.findall(r'\b\w+\b', text.lower()) word_count = Counter(words) sorted_words = sorted(word_count.items(), key=lambda x: (x[0], -x[1])) result = [] for word, freq in sorted_words: result.append(f"{word} {freq}") return "\n".join(result) print(count_words()) ``` 此代码片段实现了对输入文本中的单词计数功能,并按照字母顺序排列结果[^4]。 --- ### 示例:数据结构应用类问题 假设 **1165** 涉及到二叉树遍历或者构建,则其核心逻辑可参考以下 C++ 实现: ```cpp #include <iostream> #include <vector> using namespace std; struct TreeNode { int val; TreeNode* left; TreeNode* right; }; TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) { if(preorder.empty()) return nullptr; int root_val = preorder[0]; TreeNode* root = new TreeNode{root_val, nullptr, nullptr}; auto it = find(inorder.begin(), inorder.end(), root_val); int index = distance(inorder.begin(), it); vector<int> left_inorder(inorder.begin(), inorder.begin() + index); vector<int> right_inorder(inorder.begin() + index + 1, inorder.end()); vector<int> left_preorder(preorder.begin()+1, preorder.begin()+index+1); vector<int> right_preorder(preorder.begin()+index+1, preorder.end()); root->left = buildTree(left_preorder, left_inorder); root->right = buildTree(right_preorder, right_inorder); return root; } ``` 上述代码展示了如何通过前序和中序序列重建一棵二叉树[^5]。 --- ### 示例:数学运算类问题 对于一些涉及到分数简化或其他数学概念的题目,例如约分问题,可以用以下方法求解: ```python from math import gcd def reduce_fraction(numerator, denominator): common_divisor = gcd(abs(numerator), abs(denominator)) reduced_num = numerator // common_divisor reduced_denom = denominator // common_divisor if reduced_denom < 0: reduced_num *= -1 reduced_denom *= -1 return f"{reduced_num}/{reduced_denom}" result = reduce_fraction(-8, 12) print(result) # 输出 "-2/3" ``` 这段程序能够有效地将任意给定的分子分母转换成最简形式[^6]。 --- ### 总结说明 虽然当前无法直接获取到 PAT 甲级真题 **1165** 的确切描述,但从过往经验来看,它很可能属于以上提到的一种类型。建议考生多加练习类似的经典习题来提升应考能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值