
PAT甲级
满树
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PAT B1034/A1088 有理数四则运算 (20分)
Note:1 数据范围为int,但当两个分母相乘时, 最大可以达到long long ,所以如果使用int就会溢出, 得到“答案错误”2 计算最大公约数时,计算的是分子分母 “绝对值” 的公约数, 否则会错误3 除法,如果除数为0,应当特判输出“Inf”4 最后一个除法算式后不要输出回车键,否则会有一个测试点 “格式错误 ”问题描述:本题要求编写程序,计算 2 个有理数的和...原创 2020-04-03 13:06:17 · 323 阅读 · 0 评论 -
PAT A1044 Shopping in Mars(***二分法)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805439202443264题意: 给出一个数字序列与一个数m,在数字序列中求出所有和值为m的连续子序列(区间下标左端点小的先输出,左端点相同时右端点小的先输出)。若没有这样的序列,求出和值恰好大于m的子序列(即所有和值大于m的子序列中和值最接近m)...原创 2020-03-12 14:32:25 · 205 阅读 · 0 评论 -
PAT A1085 Perfect Sequence(***二分+STL upper_bound)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805381845336064题意: 从N个正整数中选择若干个数,使得选出的这些数中的最大值不超过最小值的p倍。问满足条件的选择方案中,选出的数的最大个数。Note:1. p与序列中的元素均可能达到10的9次方,因此a[i]*p 可能达到10...原创 2020-03-12 12:11:23 · 134 阅读 · 0 评论 -
PAT A1048 Find Coins(散列:二分:two pointers)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805432256675840散列法:#include<cstdio>#include<iostream>using namespace std;int hashTable[1010] = {0};int main()...原创 2020-03-11 19:55:00 · 136 阅读 · 0 评论 -
PAT A1013 Battle Over Cities(图遍历)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805500414115840题意: 给定无向图并规定,当删除图中的某个顶点时,将会同时把与之连接的边一起删除。接下来给出k个查询,每个查询给出一个欲删除的顶点编号,求删除该顶点(和与其连接的边)后需要增加多少条边,才能使图变得连通。Note:本题...原创 2020-03-11 15:41:26 · 162 阅读 · 0 评论 -
PAT A 1076 Forwards on Weibo(***BFS图遍历)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805392092020736题意: 在微博中, 每个用户都可能被若干个其他用户关注。而当该用户发布一条信息时,他的关注者就可以看到这条信息并选择是否转发它,且转发的信息也可以被转发者的关注者再次转发,但同一用户最多只转发该信息一次。现在给出N个用户...原创 2020-03-11 12:45:09 · 208 阅读 · 0 评论 -
PAT A1034 Head of a Gang(***DFS图遍历)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805456881434624题意: 给出若干人之间的通话长度(视为无向边),这些通话将他们分成若干组。每个组的总边权设为该组内的所有通话的长度之和,而每个人的点权设为该人参与的通话长度之和。现在给定一个阈值K,且只要一个组的总边权超过K,并满足成员个...原创 2020-03-10 22:36:31 · 155 阅读 · 0 评论 -
PAT A1022Digital Library(***map映射set容器 + 字符串读入)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805480801550336题意:给出N本书的编号,书名,作者,关键词(多个),出版社,出版年份;并给出M个查询,每个查询给出书名,作者,关键词(单个),出版社及出版年份中的一个,要求输出满足该给出信息的所有书的编号。Note:1.map<str...原创 2020-03-10 18:15:34 · 147 阅读 · 0 评论 -
PAT A1071 Speech Patterns(***从字符串切割单词+map)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805398257647616题意: 令"单词"的定义为大小写字母,数字的组合。给出一个字符串,问出现次数最多的单词及其出现次数(一起除大小写字母和数字外的字符都作为分隔符)。其中字母不区分大小写,且最后按小写字母输出。Note:1.读入整行字...原创 2020-03-10 16:45:49 · 141 阅读 · 0 评论 -
PAT A1054 The Dominant Color(***STL-map应用)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805422639136768题意:给出N行M列的数字矩阵,求其中超过半数的出现次数最多的数字。Note:1.使用普通数组计数,数据范围过大,可能导致内存超限。2.cin读入超时#include<cstdio>#include&l...原创 2020-03-10 16:05:39 · 121 阅读 · 0 评论 -
PAT A1067 Sort with Swap(0, i)(***贪心)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805403651522560题意: 给出0,1,...,N-1的一个序列,要求通过两两交换的方式将其变为递增序列,但是规定每次只能用0与其他数进行交换。求最小交换次数。Note:1 记录不在应有位置上的数字个数时要除去0.2 在while...原创 2020-03-10 14:38:57 · 184 阅读 · 0 评论 -
PAT A1038 Recover the Smallest Number(***字符串排序)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805449625288704Note:如果把这些数字串按字典序从小到大排序,然后顺序输出,会出现出现错误:如{”32“,”321“}按字典序排序是”32321“,但按题意,更小的答案是”32132“。 按题意正确的贪心策略是:对数字串S1和S2,如果S...原创 2020-03-10 12:36:40 · 137 阅读 · 0 评论 -
PAT A1037 Magic Coupon(**贪心)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805451374313472题意: 给出两个集合,从这两个集合中分别选取相同数量的元素进行一对一相乘,问能得到的乘积之和最大是多少。法一:两集合从小到大排序,访问负数从0开始,访问正数从末尾开始。即满足负数从小到达,正数从大到小的原则。#i...原创 2020-03-10 11:51:20 · 141 阅读 · 0 评论 -
PAT A1103 Integer Factorization (!难***DFS)
题意: 给定正整数N, K, P,将N表示成K个正整数(可以相同,递减排序)的P次方的和,即N = n1^P+...nk^p。如果有多种方案,那么选择底数和n1+n2+...nk最大的方案;如果还有多种方案,那么选择底数序列的字典序最大的方案。思路: 由于P大于1,并且在单词运行中是固定的,因此开一个vector<int> fac,在输入P之后就预处理出所有不超...原创 2020-03-09 16:40:41 · 157 阅读 · 0 评论 -
PAT A1024 Palindromic Number(***大整数运算+回文串判断)
Note:reverse(b.d, b.d+b.len)倒置大整数b。reverse函数在头文件<algorithm>中。题意: 定义一个操作:让一个整数加上这个整数首尾颠倒后的数字。例如对整数1257执行操作就是1257+7521=8778。现在给出一个正整数和操作次数限制,问在限定的操作次数内能是否能得到回文数。如果能得到,则输出那个回文数,并输出操作的次数;否则...原创 2020-03-09 14:59:49 · 189 阅读 · 0 评论 -
PAT A1023 Have Fun with Numbers(***大整数运算)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805478658260992题意: 给出一个长度不超过20的整数,问这个整数两倍后的数位是否为原数数位的一个排列。思路:按字符串方式读入整数,然后进行乘2操作。 判断新整数的数位是否是原整数数位的一个排列。首先,如果两个整数的长度不同,那么...原创 2020-03-09 13:13:26 · 149 阅读 · 0 评论 -
PAT A1004 Counting Leaves(***BFS, DFS求树的各层叶子结点数)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805521431773184题意: 给出一棵树,问每一层各有多少叶子结点。深度搜索遍历法:#include<cstdio>#include<iostream>#include<vector>#inc...原创 2020-03-08 22:58:02 · 216 阅读 · 0 评论 -
PAT A1106 Lowest Price in Supply Chain
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805362341822464题意: 给出一棵销售供应树,树根唯一。在树根处货物的价格为P,然后从根结点开始每往子结点走一层,该层的货物价格将会在父亲结点的价格上增加r%。求叶子结点处能获得的最低价格,以及能提供最低价格的叶子结点个数。Note:...原创 2020-03-08 21:05:16 · 116 阅读 · 0 评论 -
PAT A1094 The Largest Generation (***求树宽及层号)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805372601090048题意: 输入树的结点个数N(1~N),非叶子结点个数M,然后输入M个非叶子结点各自的孩子结点编号,求结点个数最多的一层(层号从整体来看的,根结点层号为1),输出该层的结点个数以及层号。#include<cstd...原创 2020-03-08 20:27:12 · 136 阅读 · 0 评论 -
PAT A1079 Total Sales of Supply Chain(树的遍历,类同A1090)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805388447170560与A1090做比较,本题出错点在一开始错误将P乘到了每个叶结点上,导致乘了多个P。实际计算出叶结点货物价格之和后,只需乘一个p根结点处货物价格。#include<cstdio>#include<iost...原创 2020-03-08 17:33:03 · 150 阅读 · 0 评论 -
PAT A1090 Highest Price in Supply Chain (***树的遍历)
题意: 给出一棵销售供应的树,树根唯一。在树根处货物的价格为P,然后从根结点开始每往子结点走一层,该层的货物价格将会在父亲结点的价格上增加r%。求所有叶结点中的最高价格以及这个价格的叶结点个数。思路: 由于每层的价格都在上一层的基础上乘以(1+r)(r已去除百分号,即已经在题目输入的基础上除以了100),因此只要计算深度最深的结点借可。由于不用考虑结点的点权,因此可以直接以...原创 2020-03-08 16:00:38 · 147 阅读 · 0 评论 -
PAT A1066 Root of AVL Tree(***创建二叉平衡树)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805404939173888#include<cstdio>#include<iostream>#include<algorithm>using namespace std;struct node{ int v...原创 2020-03-07 22:26:31 · 114 阅读 · 0 评论 -
PAT A1099 Build A Binary Search Tree(构建二叉查找树)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805367987355648题意:二叉树有N个结点,给出每个结点的左右孩子结点的编号,不存在用-1表示。接着给出一个N个整数的序列,需要把这N个整数填入二叉树的结点中,使得二叉树成为一棵二叉查找树。输出这棵二叉查找树的层序遍历序列。#include&l...原创 2020-03-07 20:48:08 · 141 阅读 · 0 评论 -
PAT A1064 Complete Binary Search Tree (***构建完全二叉排序树)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805407749357568题意:给出N个非负整数,要用它们构建一颗完全二叉排序树。输出这棵完全二叉排序树的层序遍历序列。思路:如果使用数组来存放完全二叉树,那么对完全二叉树当中的任何一个结点(设编号为x,根节点编号为1),其左孩子结点的编号为2...原创 2020-03-07 18:49:51 · 240 阅读 · 0 评论 -
PAT A1063 Set Similarity(***STL--set的应用)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805409175420928Note:1 set容器内部自动有序,且不含重复元素2 注意compare函数中求两集合交集和并集的方法。首先求并集元素的变量totleNum的初始值要设为st[y].size(); 其次在y集合中找元素的语句...原创 2020-03-07 18:04:20 · 138 阅读 · 0 评论 -
PAT A1043 Is It a Binary Search Tree(***二叉搜索树的创建,遍历)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805440976633856Note:1 创建二叉搜索树与创建二叉树不同,可以边输入边插入。void insert(node *&root, int x){ if(root == NULL){//到达空结点时,即为需要插入的位置 ...原创 2020-03-07 15:30:29 · 139 阅读 · 0 评论 -
PAT A1053 Path of Equal Weight(***树的遍历)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805424153280512题意:给定一棵树和每个结点的权值,求所有从根节点到叶子结点的路径,使得每条路径上的结点的权值之和等于给定的常数S。如果由多条这样的路径,则按路径非递归的顺序输出。其中路径的大小是指,如果有多条这样的路径,则按路径非递增的顺序输出。其...原创 2020-03-07 13:49:55 · 183 阅读 · 0 评论 -
PAT A1102 Invert a Binary Tree (***静态二叉树+二叉树反转)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805365537882112Note: 将输入的字符型左右结点转换成数字,同时标记该结点是不是根节点。 等所有结点的左右结点输入完后,遍历0~n-1所有结点,notRoot[i] = false时i 是根节点int strToNu...原创 2020-03-06 22:54:15 · 122 阅读 · 0 评论 -
PAT A1086 Tree Traversals Again (二叉树先序、中序--后序输出)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805380754817024题目翻译:一个中序二叉树遍历可以通过堆栈以非递归方式实现。例如,假设遍历6节点二叉树(键的编号从1到6)时,堆栈操作为:push(1);push(2);push(3);pop();pop();push(4);pop();pop(...原创 2020-03-06 19:12:04 · 145 阅读 · 0 评论 -
PAT A1047 Student List for Course (***vector)
Note:1 使用string,最后一组数据会使用string,最后一组数据会超时。像这种数据范围很大的情况,要使用char数组来存放数据。2 如果排序时直接对字符串排序,会导致大量的字符移动,耗时间。因此用字符串的下标来代替字符串本身进行排序,这样耗时会少很多。3 strcmp返回值不一定是-1,0,+1,也可能是其他正数和负数。4 cin cout 也会超时,可改...原创 2020-03-06 16:36:47 · 126 阅读 · 0 评论 -
PAT A1039 Course List for Student (***vector)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805447855292416#include<cstdio>#include<cstring>#include<iostream>#include<vector>#include<algorit...原创 2020-03-06 14:48:30 · 121 阅读 · 0 评论 -
PAT A1020 Tree Traversals (二叉树中序、后序---层序输出)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805485033603072Note:1 新建结点的格式不能错,不能用=NULL;node *root = new node; //新建一个新的结点,用来存放当前二叉树的根节点2 队列中存的是结点地址,所以是<node*>而不...原创 2020-03-05 22:44:06 · 140 阅读 · 0 评论 -
PAT B1056 Mice and Rice (***队列)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805419468242944#include<cstdio>#include<iostream>#include<queue>using namespace std;struct mouse{ int weigh...原创 2020-03-04 21:19:13 · 119 阅读 · 0 评论 -
PAT A1051 Pop Sequence (***栈的应用)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805427332562944先输入M , N , K分别是栈的最大容量M;入栈顺序1~N;判断K组出栈序列是否合法;然后输入K组出栈序列用于测试;#include<cstdio>#include<iostream>#...原创 2020-03-04 18:33:39 · 186 阅读 · 0 评论 -
PAT A1060 Are They Equal (***string的应用)
问题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805413520719872原创 2020-03-04 16:33:58 · 123 阅读 · 0 评论 -
PAT A1025 Ranking(排序***重要)
1025PAT Ranking(25分)Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhejiang University. Each test is supposed to run simultaneously in several pla...原创 2020-02-17 23:17:57 · 144 阅读 · 0 评论 -
PAT甲1002(A+B for Polynomials)
甲1002 A+B for Polynomials两个多项式A,B进行相加,每个多项式先输入此多项式有几项(K项),然后依次输入每一项的指数和系数例如:Note:输出系数的结果保留一位小数,cout<<setiosflags(ios::fixed)<<setprecision(1)<<变量<<endl;在头文件<iomanip&...原创 2020-01-28 22:59:13 · 173 阅读 · 0 评论 -
PAT甲1001(A+B Format) int 转 string
甲1001 A+B FormatNote:cin cout 在<iostream>头文件中 头文件<sstream>中包含三个类 istringstream(串流输入) ostringstream(串流输出) stringstream(串流输入输出)本题在itos函数中用到stringstream。int转string类型,首先定义一个stringstrea...原创 2020-01-28 15:54:33 · 191 阅读 · 0 评论