
PTA 笔记
SoloGala
这个作者很懒,什么都没留下…
展开
-
1050 String Subtraction
1050 String Subtraction (20 分)思路 Map 来存储第二个字符串,然后遍历第一个字符串 如果在hash表能找到该字符,就删掉.AC代码#include <cstdio>#include <map>#include <iostream>#include <string>#define MAX 10010u...原创 2019-01-17 10:44:39 · 207 阅读 · 0 评论 -
1043 Is It a Binary Search Tree
1043 Is It a Binary Search Tree题意题目给出二叉树的前序序列判断是否是BST 是输出YES 并且输出改BST的后序序列思路 通过前序和中序 来 求后序。 由于是BST 所有数据的中序一定是有序的。题目说给的前序序列可能是 左右交换过的BST 所以需要先判断一下,如果是镜像的 BST 那么他的前序的第二个一定是大于根节点也就是第一个。if(CNT>...原创 2019-01-15 23:26:31 · 324 阅读 · 0 评论 -
1044 Shopping in Mars
1044 Shopping in Mars (25 point(s))题意给一串 数字 找出大于 给定值 pay 的一些数字从I到j的组合思路1 动态规划#include <cstdio>#include <cstring>#include <vector>#include <algorithm>#define MAX 100...原创 2019-01-16 02:38:08 · 243 阅读 · 0 评论 -
1058 A+B in Hogwarts
/*Sologala @github https://github.com/Sologala/PAT_OJPAT_oj No.1058_A+B_in_Hogwarts_*/1058 A+B in Hogwarts (20 分)进位一下就行了ac_code/* Sologala @github https://github.com/Sologala/PAT...原创 2019-01-21 22:36:16 · 147 阅读 · 0 评论 -
1060 Are They Equal
/*Sologala @github https://github.com/Sologala/PAT_OJPAT_oj No.1060_Are_They_Equal*/可以先把小数点移动最左边。 然后按要求 输出几位,不够补上0.还要注意如果是000001.00001 这种需要把 整数部分前面的0清掉,但整数部分是 0的时候 ,比如 0.000001还需要把小数部分前面的0...原创 2019-01-21 22:36:56 · 103 阅读 · 0 评论 -
1061 Dating
/*Sologala @github https://github.com/Sologala/PAT_OJPAT_oj No.1061_Dating*/Day //第一个相等的。A-GHour //接着 第一个相等的 A-N 或者0-9Min // 第一个相等的 A-zac_code /* Sologala @githu...原创 2019-01-21 22:37:39 · 140 阅读 · 0 评论 -
1062 Talent and Virtue
/*Sologala @github https://github.com/Sologala/PAT_OJPAT_oj No.1062_Talent_and_Virtue*/分类 排序 。 if(temp.V_grade>=Low&&temp.T_grade>=Low){//过滤掉 低分的 if(temp.V_grade&g...原创 2019-01-21 22:38:10 · 141 阅读 · 0 评论 -
1063 Set Similarity
/*Sologala @github https://github.com/Sologala/PAT_OJPAT_oj No.1063_Set_Similarity*/题意 先给出 N 个set。然后 给出K个请求,计算给出的请求的两个set 的相似率是多少 简单的set 的应用。 最开始我直接用一个新的set 来讲两个set合并来计算,但是这样多此一举,反而ins...原创 2019-01-21 22:38:57 · 372 阅读 · 0 评论 -
1064 Complete Binary Search Tree
/*Sologala @github https://github.com/Sologala/PAT_OJPAT_oj No.1064_Complete_Binary_Search_Tree*/思路 题目时要求一个完全二叉搜索树(CBT)的层次便利序列 如果这样一个CBT 是满二叉树。那么就可以层次遍历快速的。 但是如果给出的二叉树是非满二叉树如下图所示,那么我们可...原创 2019-01-22 02:28:39 · 109 阅读 · 0 评论 -
1045 Favorite Color Stripe
1045 Favorite Color Stripe (30 分)题意先给出 需要的颜色的序列顺序,然后给出一长串的颜色,从这些颜色中选出最长的 满足之前顺序的 串.首先 这些颜色 必须要按照给出的顺序来计算,所以不必存储 颜色的色值 ,我们只需要把 这些颜色在 顺序串中的 位置存下来就行了.这里用了一个map 来映射 某颜色 的在顺序 串中的 位置map&lt;int,int&g...原创 2019-01-16 15:18:00 · 147 阅读 · 0 评论 -
1065 A+B and C
/*Sologala @github https://github.com/Sologala/PAT_OJPAT_oj No.1065_A+B_and_C_(64bit)*/1065 A+B and C (64bit) (20 分)Given three integers A, B and C in [−263,263], you are supposed to tell w...原创 2019-01-22 13:25:41 · 165 阅读 · 0 评论 -
1046 Shortest Distance
1046 Shortest Distance (20 分)思路 读取数据的时候 计算出从1 到某点的距离 dp[i] . 从i 到 j 的距离用 dp[j] -dp[i] 然后注意 下标如果I> j 交换一下 输出的结果如果小于 sum /2 那么就是 sum -s.另外一半圈的距离AC_Code#include <cstdio>#include ...原创 2019-01-16 18:11:27 · 170 阅读 · 0 评论 -
1047 Student List for Course
1047 Student List for Course (25 分)思路 没什么好说的 ,水题,vector<vector<string> > C; 搞定.#include <cstdio>#include <vector>#include <algorithm>#include <string>#i...原创 2019-01-16 19:42:57 · 154 阅读 · 0 评论 -
1048 Find Coins
1048 Find Coins (25 分)思路 题目给出一些数字,并 从这些数字中找出两个 数字 刚好组合的到pay. 可以暴力,但是 暴力不知道会不会超时没有试. 思路: 给的数据先 排序 8 15 1 2 8 7 2 4 11 15 1 2 2 4 7 8 11 15 C[i]//+ ---------------//在C[i] 的后面的 数组中二分...原创 2019-01-16 20:05:49 · 235 阅读 · 1 评论 -
1066 Root of AVL Tree
/*Sologala @github https://github.com/Sologala/PAT_OJPAT_oj No.1066_Root_of_AVL_Tree*/硬模拟AVL树的插入,每次调整旋转,最后输出树根节点。值得注意的是:在用递归的方式来插入新节点,如果新插入的节点的值大于等于当前的根节点,那么插在右子树上,小于插在左子树上。 当插入完成之后函数返回之前...原创 2019-01-22 17:29:00 · 228 阅读 · 0 评论 -
1049 Counting Ones
1049 Counting Ones (30 分)The task is simple: given any positive integer N, you are supposed to count the total number of 1’s in the decimal form of the integers from 1 to N. For example, given N bein...原创 2019-01-17 00:03:07 · 275 阅读 · 0 评论 -
1042 Shuffling Machine
1042 Shuffling Machine (20 point(s))洗牌原始牌 的顺序S1, S2, ..., S13, H1, H2, ..., H13, C1, C2, ..., C13, D1, D2, ..., D13, J1, J2通过给出的 洗牌顺序 洗牌K次int trans[54]; 通过一个数组来存储新的顺序 洗牌的次数就在这个数组里面倒几次。...原创 2019-01-15 18:26:45 · 141 阅读 · 0 评论 -
1041 Be Unique (20 point(s))
1041 Be Unique (20 point(s))去重。HASH 打点 然后sort 排序AC代码#include <vector>#include <iostream>#include <algorithm>#include <map>using namespace std;struct node{ int num;...原创 2019-01-15 17:09:22 · 163 阅读 · 0 评论 -
1051 Pop Sequence (25 分)
1051 Pop Sequence (25 分)思路 这道题想了半天 ,最开始觉得直接模拟会超时,推演了好久看时候有什么更快速的办法,后来无果,只好老老实实模拟. 将出栈 的序列的存储下来判断 该数字与栈顶元素的大小,如果大于 则需要入栈. 如果超过栈的 最大值那么就 break 输出NO . 如果该数字等于 则出栈 如果小于 则不是在访问栈顶元素,break 输出NOA...原创 2019-01-17 12:42:56 · 499 阅读 · 0 评论 -
1052 Linked List Sorting
1052 Linked List Sorting (25 分)思路 建立静态链表然后 链表的插入排序 OK 注意题目给的是不带头节点的,砸门可以自己创建一个头结点head head的next来存放 s 这样就方便后面的插入排序的计算.#define MAX 100010#define head 100009struct node{ int key; int nex...原创 2019-01-17 17:46:51 · 114 阅读 · 0 评论 -
1053 Path of Equal Weight
1053 Path of Equal Weight (30 分)思路: 题目给的数据建立图, 为了满足题目要求的 输出按照 节点的增序, 再 保存 节点的子节点的时候 对所有的子节点按照 节点的 权值 排序. dfs 查找 满足条件的叶子节点.把结果保存,并输出就okSample Output:#include <vector>#include <cstdio...原创 2019-01-17 22:06:03 · 184 阅读 · 0 评论 -
1054 The Dominant Color
/*Sologala @github https://github.com/Sologala/PAT_OJPAT_oj No.1054_The_Dominant_Color2019-01-18 03:22:34*/思路 map 打点。保存最高的输出ac_code#include <iostream>#include <cstdio>#in...原创 2019-01-18 03:46:05 · 143 阅读 · 0 评论 -
1055 The World's Richest
/*Sologala @github https://github.com/Sologala/PAT_OJPAT_oj No.1055_The_World’s_Richest2019-01-18 03:48:16*/struct Node{ char name[9]; int age; int w;};Node PeoPle[MAX_PEOPLE]...原创 2019-01-18 05:51:36 · 249 阅读 · 0 评论 -
1034 Head of a Gang
1034 Head of a Gang (30 point(s))题意: 警察通过查看通话记录把一些人分成一个一个的帮派。 判断是否是帮派的条件: 1.ALLcost> K 2.帮派成员大于2 于是这道题可以用 有向图 来存储题目给的数据,然后DFS 遍历 的同时 求得连通分量(帮派个数),以及整个帮派的通话时间。 由于题目给的每个顶点的信息是字符串。所以需要...原创 2019-01-13 14:14:14 · 604 阅读 · 0 评论 -
1035 Password
1035 Password (20 point(s))To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem is that there are always some confusing passwords since it is hard to di...原创 2019-01-13 14:51:56 · 288 阅读 · 0 评论 -
1036 Boys vs Girls
1036 Boys vs Girls (25 point(s))计算最低的男生成绩 和最高的女生成绩水题目没什么好说的set 存放 头和尾就是男生和女生的最高成绩 和最低成绩代码#include <iostream>#include <set>#include <string>#include <algorithm>using ...原创 2019-01-13 16:04:25 · 234 阅读 · 0 评论 -
1037 Magic Coupon
1037 Magic Coupon (25 point(s))题意给定一些列的优惠劵 的价格(有正有负) 以及一些产品的价格(有正有负 eg.1 2 4 -1 //优惠劵7 6 -2 -3 //产品 每个优惠劵和产品都只能选一次,求出能得到的钱的最大值。 把给定的数据分组 整数和负数分开 并且正数按照从大到小排序,负数按照从小到大排序4 2 1 || -1 //优...原创 2019-01-13 21:33:31 · 198 阅读 · 0 评论 -
1038 Recover the Smallest Number
1038 Recover the Smallest Number (30 point(s))思路1给定一串的数字 可以随意改变他们的顺序 求出最小的数字的组合输出注意点,最前面没有0正确思路 a = 32 ; b =321;如上 两个字符串,如果构成数字可得到 1) 32-321 2) 321-32 32321>32132; 故...原创 2019-01-13 23:45:41 · 281 阅读 · 1 评论 -
1039 Course List for Student (25 point(s))
1039 Course List for Student (25 point(s))题意给出课程和该课程下面的学生信息建库,再给出请求查询的人名信息,来查询 该人名下面的所有课程,课程代码 增序输出思路一:用下面这种结构来存储。set 自动排序 map用来做人名映射。但是最后一个数据会超时。map&lt;string ,set&lt;int&gt;&gt;思路二:由于题目给出了名字...原创 2019-01-14 15:50:53 · 382 阅读 · 0 评论 -
99.恢复二叉搜索树(Recover Binary Search Tree)
/*Sologala @github https://github.com/Sologala/LeetCode.gitLeetCode 99._恢复二叉搜索树*/二叉搜索树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。思路: 中序序列(同时保存指针)搞到手,然后排序一下得到正确的序列,将中序得到的序列 与排好序的比对,找出两个错误位置的节点,交换两...原创 2019-01-24 18:15:33 · 313 阅读 · 0 评论 -
1057 Stack
/*Sologala @github https://github.com/Sologala/PAT_OJPAT_oj No.1057_Stack*/题目中 是模拟一个栈,但是增加了一个操作 取出 栈中元素的中位数。 最开始用遍历的办法去找一个双向链表来维护这个顺序表,然后寻找中位数,但是还是会超时。后来想到如下这种结构。中位数左边的是小于mid的数,用一个大根堆来表示,右边用...原创 2019-01-20 21:40:18 · 200 阅读 · 0 评论 -
1056 Mice and Rice
/*Sologala @github https://github.com/Sologala/PAT_OJPAT_oj No.1056_Mice_and_Rice2019-01-18 12:41:49*/s就Ok排序。ac_code#include <cstdio>#include <vector>#include <math.h&...原创 2019-01-21 02:51:59 · 141 阅读 · 0 评论 -
1059 Prime Factors
/*Sologala @github https://github.com/Sologala/PAT_OJPAT_oj No.1059_Prime_Factors*/1059 Prime Factors (25 分)思路 把一个数字分解成质数的指数和形式。最开始先计算出 从2到num 的所有质数,然后从2开始拆解num 。但是第一个测试点会超时。 期间还发现...原创 2019-01-21 02:52:51 · 236 阅读 · 0 评论 -
1040 Longest Symmetric String
1040 Longest Symmetric String (25 point(s))给一个字符串 计算这个字符串内的最长的 回文串的长度。题目很简单,这道题首先想到的应该就是暴力解法。但是暴力解法 判断是否是回文O(n^2) 再加上整个串就是O(n^3) 可能会超时。于是想到用动态规划来做,下面我将给出一个完整的思路过程,我也是这两天初学动态规划。思考了这个问题一些时间,希望能给到初学的同学...原创 2019-01-15 15:12:14 · 839 阅读 · 4 评论 -
1067 Sort with Swap(0, i)
/*Sologala @github https://github.com/Sologala/PAT_OJPAT_oj No.1067_Sort_with_Swap*/1067 Sort with Swap(0, i) (25 分)Given any permutation of the numbers {0, 1, 2,…, N−1}, it is easy to sort...原创 2019-01-22 19:46:56 · 405 阅读 · 0 评论