
入门模拟
PAT 入门模拟
yc_cy1999
一只喜欢cc和想去南大的小羊
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【map】PAT A1054 The Dominant Color (20分)
文章目录题目描述知识点我的实现码前思考代码实现码后反思 题目描述 知识点 STL 我的实现 码前思考 题目中说了一定存在,那么每次判断就好了,水题! 代码实现 #include <iostream> #include <map> using namespace std; int main() { int m, n; scanf("%d %d", &m, &n); map<int, int> arr; int half .原创 2020-08-12 20:43:42 · 241 阅读 · 0 评论 -
PAT A1026 Table Tennis (30分)
文章目录题目描述知识点我的实现码前思考代码实现码后反思 题目描述 1026 Table Tennis (30分) 又臭又长 知识点 大模拟! 我的实现 码前思考 直接跳过这道题,柳神说了:pat现在不考这种题了! 代码实现 #include <iostream> #include <vector> #include <algorithm> #include <cmath> using namespace std; struct person { i.原创 2020-08-11 17:29:25 · 549 阅读 · 0 评论 -
PAT A1017 Queueing at Bank
文章目录题目描述知识点实现码前思考代码实现码后反思 题目描述 知识点 STL之priority_queue 实现 码前思考 时间最好用秒数s来记录 需要记录到来时间,开始服务时间和结束服务时间; 记得考虑一个用户运气好,来的时候不用等; 记得按来的时间排序; 代码实现 //每个window一个人,单人占用部分超过60min //没有同时到达的客户,就是说大家是有先后次序的!队列 //超过17:00之后来,不当做人看,之前都当作人看,直接忽略 #include <cstdio> #inc.原创 2020-06-01 21:57:17 · 130 阅读 · 0 评论 -
PAT A1009 Product of Polynomials (25分)
文章目录题目描述知识点我的实现码前思考代码实现码后反思 题目描述 知识点 模拟题 我的实现 码前思考 就是模拟题了 代码实现 //使用后结构体来办事 #include <iostream> #include <vector> #include <algorithm> using namespace std; const int maxn = 2e3+10; struct node{ int exp; double coef; node(){} node(i.原创 2020-08-11 16:16:37 · 149 阅读 · 0 评论 -
⭐PAT A1108 Finding Average
文章目录题目描述知识点实现码前思考代码实现码后反思 题目描述 知识点 字符串处理题 实现 码前思考 我的思想 很暴力 ,就是每次读一个字符串,然后遍历这个字符串来判断是否合法。 从非负号开始读起; 记录小数点出现的次数,一旦出现两个小数点,返回false; 记录小数点前面的值和小数点后面的值的大小; 检查当前字符是不是数字和小数点,不是则返回false; 小数点前后相加,如果超过范围,返回...原创 2020-04-28 19:09:20 · 211 阅读 · 0 评论 -
【字符串函数】PAT A1077 Kuchiguse (20分)
文章目录题目描述知识点我的实现码前思考代码实现码后反思 题目描述 找所有字符串的共同后缀 知识点 STL字符串string的使用 我的实现 码前思考 就一直比对就好 代码实现 #include <iostream> #include <string> using namespace std; const int maxn = 1e2+10; string ins[maxn]; int n; int main(){ scanf("%d\n",&n); int len.原创 2020-08-10 16:19:49 · 134 阅读 · 0 评论 -
PAT A1139 First Contact (30分)【哈希存储边】⭐⭐⭐⭐⭐
文章目录题目描述知识点实现码前思考代码实现码后反思 题目描述 1139 First Contact (30分) 知识点 图 实现 码前思考 首先看到可能有10000个结点,肯定不能使用邻接矩阵,会爆炸的,得使用邻接表; 我一开始想的是使用DFS去判断的,结果最后一个测试用例运行超时了; 我第二个测试用例也没有过,因为居然存在-0000这种奇葩情况!!! 后来看了柳神的代码,简直不要太清晰!...原创 2020-05-05 21:09:01 · 458 阅读 · 0 评论 -
LeetCode 155. Min Stack【栈+设计/辅助栈+空间换时间】⭐⭐⭐
文章目录题目描述知识点结果实现码前思考代码实现码后反思 题目描述 知识点 栈、设计 结果 实现 码前思考 使用vector来实现栈; 使用priority_queue来实时的保存最小值; 代码实现 class MinStack { public: vector<int> st; priority_queue<int,vector<int>,greater<int>> q; //使用优先队列存储最小值 int minVal; .原创 2020-07-25 20:55:58 · 103 阅读 · 0 评论 -
如何实现LRU缓存机制——哈希链表
文章目录一、什么是 LRU 算法二、LRU 算法描述三、LRU 算法设计四、代码实现 一、什么是 LRU 算法 LRU 就是一种缓存淘汰策略。 计算机的缓存容量有限,如果缓存满了就要删除一些内容,给新内容腾位置。但问题是,删除哪些内容呢?我们肯定希望删掉那些没什么用的缓存,而把有用的数据继续留在缓存里,方便之后继续使用。那么,什么样的数据,我们判定为「有用的」的数据呢? LRU 缓存淘汰算法就是一种常用策略。LRU 的全称是 Least Recently Used,也就是说我们认为最近使用过的数据应该是.转载 2020-07-24 20:01:12 · 971 阅读 · 0 评论 -
LeetCode 146. LRU Cache【哈希+队列/哈希+双向链表】⭐⭐⭐⭐⭐
文章目录题目描述知识点结果实现码前思考代码实现码后反思 题目描述 知识点 设计题(就是模拟题啦) 结果 实现 码前思考 这里我使用的是一个队列q来记录操作(即push和get)过的key,然后使用一个map存储key-value对,一个map存储在队列q中的存在某个key的次数,即key-count对; 接下来的操作就很简单了,如果加入新元素,就从队列队头取count为0的那个key换出。 代码实现 class LRUCache { public: queue<int> q; .原创 2020-07-24 19:38:24 · 348 阅读 · 0 评论 -
⭐PAT A1061 Dating
文章目录题目描述知识点实现码前思考代码实现码后反思 题目描述 福尔摩斯接到一张奇怪的字条:“我们约会吧!3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母D,代表星期四;第2对相同的字符是E,那是第5个英文字母,代表一天里的第14个钟头(于是一天的0点到23点由数字0到9、以及大写字母A到N表示);后面两字符串第1对相同的英文字母s出现在第4个.原创 2020-06-02 18:46:26 · 210 阅读 · 0 评论 -
⭐⭐⭐⭐⭐PAT A1060 Are They Equal【变态测试数据】
文章目录题目描述知识点实现码前思考代码实现码后反思 题目描述 知识点 STL string的用法 实现 码前思考 对于这种格式转换的题目,最常用的方法就是写很多个 if-else 语句,也就是 分情况,将问题模块化,从宏观的角度上看,这样才不会在一开始分析的时候就陷入代码细节; 对于这道题,首先可以将数字分为等于0,大于0小于1,大于等于1三种情况,针对这三种情况分别进行判断即可; 对于每种情况,我们都要获取两个东西: 前n个有效位; 指数。 理清上面的思路就很好解题了,主要是代码比较繁琐; .原创 2020-06-02 18:04:21 · 215 阅读 · 0 评论 -
⭐【思维+划分情况】PAT A1073 Scientific Notation
文章目录题目描述实现码前思考代码实现码后反思 题目描述 题目给出科学计数法的格式的数字A,要求输出普通数字表示法的A,并保证所有有效位都被保留,包括末尾的0。 实现 码前思考 这道题目我用了很长的时间,这里主要还是分情况解析问题为主,将情形拆分为exp是大于0,小于0,还是等于0; 代码实现 #include <cstdio> #include <iostream> #include <string> using namespace std; string in.原创 2020-05-30 19:30:06 · 141 阅读 · 0 评论 -
⭐⭐⭐⭐⭐PAT A1082 Read Number in Chinese
文章目录题目描述知识点实现码前思考代码实现码后反思 题目描述 题目大意:给定一个不超过9位的整数,你应该用传统的中文方式阅读它~ 如果是负的,首先输出“Fu”。 例如,-123456789被读作“Fu yi Yi er Qian san Bai si Shi wu Wan liu Qian qi Bai ba Shi jiu”。 注意:零(“ling”)必须根据中国传统正确处理。 例如,100800是“yi Shi Wan ling ba Bai”~ 知识点 模拟题 实现 码前思考 需要分为3个部分进.原创 2020-05-25 22:08:10 · 173 阅读 · 0 评论 -
PAT A1100 Mars Numbers
文章目录题目描述实现码前思考代码实现码后反思 题目描述 实现 码前思考 由于输入存在空格,所以需要一次性输入字符串,使用getline(cin,string); 代码实现 //注意getline的使用 #include <cstdio> #include <iostream> #include <map> #include <string> using namespace std; map<int,string> mpLow; map.原创 2020-05-18 23:11:47 · 148 阅读 · 0 评论 -
PAT A1105 Spiral Matrix
文章目录题目描述知识点实现码前思考代码实现码后反思 题目描述 知识点 模拟题 实现 码前思考 我最讨厌这种复杂的模拟题了。。。 我写的代码很糟糕,还是看柳神的代码比较好 代码实现 //使用vector来表述矩阵 #include <cstdio> #include <vector> #include <algorithm> #include <cmath> using namespace std; const int maxn = 1e4+10; .原创 2020-05-11 17:19:18 · 134 阅读 · 0 评论 -
PAT A1104 Sum of Number Segments
文章目录题目描述知识点实现码前思考代码实现码后反思 题目描述 知识点 模拟题 实现 码前思考 就是找规律的题呀 代码实现 #include "bits/stdc++.h" using namespace std; double res; int n; int main(){ res = 0.0; scanf("%d",&n); for(int i=1;i<=n;i++){ double cur; long long before = i-1; long long .原创 2020-05-11 17:05:34 · 106 阅读 · 0 评论 -
PAT A1140 Look-and-say Sequence
文章目录题目描述知识点实现码前思考代码实现码后反思 题目描述 知识点 模拟题 实现 码前思考 需要自己动手模拟一下怎么进行操作的,模拟一遍就有思路了!!! 代码实现 #include "bits/stdc++.h" using namespace std; //为了以防万一,采用数字数组vector进行计数 vector<int> curN; vector<int&g...原创 2020-05-07 17:45:12 · 119 阅读 · 0 评论 -
⭐【高精度加法】PAT A1136 A Delayed Palindrome
文章目录题目描述知识点实现码前思考代码实现码后反思 题目描述 知识点 STL使用 实现 码前思考 这道题目给我的第一感觉就是使用高精度整数运算,但是我想错了!后面看看柳神的代码 代码实现 //高精度整数运算 #include "bits/stdc++.h" using namespace std; const int maxn = 1e3+10; struct bign{ int ...原创 2020-05-05 20:35:41 · 196 阅读 · 0 评论 -
PAT A1002 A+B for Polynomials
实现 码前思考 题中的注意点包括以下: aN1a_{N1}aN1是非0的; 两项相加可能使得某一项为0,根据1,这一项需要被剔除; 注意末尾不能有空格,而且最后输出的KKK有可能为0; 最后要保留一维小数点,即1要变成1.0; double类型的输入为%lf,输出却是%f,保留小数点为%.mf; 代码实现 //模拟题! //多项式加法 //指数和系数的范围 //系数要保留1为小数点 //注...原创 2020-04-27 18:38:53 · 81 阅读 · 0 评论 -
PAT A1065 A+B and C (64bit)
实现 码前思考 第一想法就是使用高精度整数运算; 需要注意0是正号还是负号; 代码实现 //大整数的加法和减法! //注意0的符号,这里0的符号是- #include "bits/stdc++.h" using namespace std; const int maxn = 100; int t; char A[maxn]; char B[maxn]; char C[maxn]; str...原创 2020-04-27 17:25:29 · 258 阅读 · 0 评论 -
【前缀和计算】PAT A1046 Shortest Distance
实现 码前思考 首先注意到运行时间的限制为200ms,对于一般的OJ系统,1s(即1000ms)中能计算10710^7107~10810^8108次。所以我们不能使用暴力的求解,因为暴力解法的时间复杂度为MNMNMN,大约有10910^9109方了,所以得想其他方法。 既然暴力不行,那么只能另辟蹊径,转换思维,首先MMM是不可能变的,那么只有把NNN变成1,做法就是选取参考系,计算相对距离。 ...原创 2020-04-27 15:44:02 · 164 阅读 · 0 评论 -
【字符数组编码成数字】PAT A1042 Shuffling Machine
题目描述 知识点 模拟题 结果 实现 码前思考 首先,我们一定不要直接就存储字符串编号,如‘J1’,我们应该存储其数字编号,在最后输出的时候才转换为字符串 代码实现 //字符数组的使用掌握不好! #include "bits/stdc++.h" using namespace std; int main(){ //设置三个数组,数组下标全部从1开始 //洗牌顺序数组 ...原创 2020-04-27 14:53:15 · 163 阅读 · 0 评论