
PAT甲级
LFPNB
这个作者很懒,什么都没留下…
展开
-
PAT甲级-1085 Perfect Sequence
有点事,一周没编程,今天编这道题,逻辑给我整乱套了。过几天得回顾一下啊。1.先对输入的数据进行排序。2.开始遍历所有情况,其中i从0开始遍历,求得j,使得num[j]<=num[i]*p,用二分法去查找j,把满足情况的都个数记录并取最大值。3.不用二分法的话,第5个测试点会超时。4.使用long long存储数据。否则通不过第六个测试点。#include<iostream&g...原创 2020-03-01 01:39:13 · 302 阅读 · 0 评论 -
PAT甲级-1037 Magic Coupon
贪心算法。先将俩个集合分别读入数组,然后再降序排列。再分别从前向后遍历俩数相乘为正,然后再分别从后向前遍历俩数相乘为正。但是不能以俩数相乘>0作为判断条件,否则测试点1出错。比如俩个集合正数个数相等,负数个数相等时。4-3 -2 3 44-2 -1 2 3#include<iostream>#include<algorithm>using names...原创 2020-02-21 00:40:52 · 191 阅读 · 0 评论 -
PAT甲级-1070 Mooncake(可当贪心模板,零基础可看懂)
中文翻译可参照乙级1020。按照每种月饼的单价,从高到低开始卖,卖完为止,累计计算每种月饼的花费。注:测试点2考察库存不为整数的情况测试点3考察所有月饼库存总和不满足需求。我一直卡在测试点三,提示我段错误。所以以后大家要注意如果段错误,可能是数组越界,需要对数组序号进行控制。#include<iostream>#include<algorithm>#incl...原创 2020-02-19 23:41:41 · 324 阅读 · 0 评论 -
PAT甲级-1084 Broken Keyboard
此题可以作为模板学习,非常标准。俩个字符串,统计出现在第一个字符串,但没在第二个字符串中出现的字母。俩层for循环,找到未出现的字母,并且标记在bool数组标记出来。注意点:bool hashtable[100]={false};//初始化hashtable[s1[i]]=true;//其中s1[i]值对应的是ASCII码值#include<iostream>#includ...原创 2020-02-19 21:14:38 · 123 阅读 · 0 评论 -
PAT甲级-1083 List Grades
依旧是排序套路。#include<iostream>#include<algorithm>#include<cstdio>using namespace std;struct student{ string name; string id; int grade;}stu[1000];bool cmp(student a,student b)...原创 2020-02-19 12:03:54 · 189 阅读 · 0 评论 -
PAT甲级-1092 To Buy or Not to Buy
本题把题意看懂后并不难。运用map映射,即可完成问题。#include<iostream>#include<map>#include<string>using namespace std;int main(){ int i=2; string str1,str2; cin>>str1; cin>>str2; ...原创 2020-02-18 17:25:54 · 106 阅读 · 0 评论 -
PAT甲级-1012 The Best Rank
1.用结构体存储学生信息。分数以ACME顺序存储在一个数组里。2.每个分数ACME都会有一个排名,所以for循环4次,循环里执行sort,并且每一次循环给排名赋值,相同分数排名一致。3.设置rank[1000000][4]数组存储排名,利于查询。以空间换取时间。4.平均分可以用round()函数,四舍五入处理。#include<iostream>#include<cst...原创 2020-02-17 14:30:56 · 164 阅读 · 0 评论 -
PAT甲级-1025 PAT Ranking
本题是一道非常标准的排序题,可以作为模板参考。排序过程:算法笔记P1011.结构体定义2.cmp函数编写3.排名得实现#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;struct student{...原创 2020-02-14 18:06:33 · 125 阅读 · 0 评论 -
PAT刷题感悟(适合基础一般的同学)
刷了一个多星期题了,感觉阻力非常非常大。从看不懂英语,再到实现不了题目逻辑, 再到自己实现的逻辑很复杂甚至很愚蠢,再到可以实现但是总有一些错误阻止AC,题目陷阱,自己编程的漏洞等等等。深深质疑自己适不适合走计算机这条路,但是今天刷题突然有了一点点感悟。1.算法笔记STL部分的题基本刷完了,觉得不能好高骛远,一味得刷后面的,强烈觉得回头从第四章算法初步开始刷,夯实自己编程的基础,慢慢有编程的感觉...原创 2020-02-12 15:57:59 · 550 阅读 · 0 评论 -
PAT甲级-1063 Set Similarity
最开始的代码,最后一个点超时。应该是判断条件处用了俩层循环,麻烦了。#include<bits/stdc++.h>//包含了所有头文件 #include<set>using namespace std;void panduan(set<int> s1,set<int> s2){ float num=0; for(set<int...原创 2020-02-12 15:21:42 · 109 阅读 · 0 评论 -
PAT甲级-1060 Are They Equal
心累,编了半天,运行超时。然后测试点六还过不去。PAT甲级真的很磨人啊。以下代码是第一遍终稿。没有考虑0的情况。然后判断逻辑复杂。需要改进。不需要用word重新装载删减后的字符串,然后根据有效数字位数来确定字符串。#include<iostream>#include<string>using namespace std;//有效数字是从第一个非零数到末尾为止 ...原创 2020-02-12 13:03:36 · 119 阅读 · 0 评论 -
PAT甲级-1071 Speech Patterns
本题是为统计题目所给的一段话中,出现次数最多的单词。并且单词case insensitive 不区分大小写。本题思路:大循环遍历整句话。然后在大循环里切割单词。并且单词非空的情况下才可以统计个数。如何表示单词非空,我调试了半天才发现自己表示错了。用了vs2010调试。空字符串的标记为两个双引号:""。(中间没有空格)而空格的ASCII为 32 你可以用ASCII码,表示也可以直接用’ ...原创 2020-02-10 21:54:07 · 146 阅读 · 0 评论 -
PAT甲级-1100 Mars Numbers(包括所有测试用例)
这道题的测试用例给我整急眼了。反复实验总结如下。1044 火星数字(20)(20 分)火星人是以13进制计数的:地球人的0被火星人称为tret。地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。火星人将进位以后的12个高位数字分别称为:tam, hel, maa, huh, tou, k...原创 2020-02-08 17:05:30 · 861 阅读 · 0 评论 -
PAT甲级-1054 The Dominant Color
本题不难,选好存储工具。注意俩点1.map中遍历使用迭代器。for(map<int,int>::iterator it=mp.begin();it!=mp.end();it++)it->first是键,it->second是值2.map中寻找某键对应的值。mp.find(id)返回值是个迭代器!!!!!!#include<iostream>#i...原创 2020-02-06 01:04:10 · 141 阅读 · 0 评论 -
PAT甲级-1039 Course List for Student(结合1047一起看)
本题与甲级1047很像,可以一起看,并且灵活检验了STL。是一道好题。本题注意点:1.这道题考察每个学生选的课程。是由字符串映射到数字。所以自然而然想到map <string, vector< int> >,但此题用这个最后一个测试往往数值很大会导致超时。所以采用字符串hash求解。2.如果用二维数组存储学生的课程编号,会导致最后一组测试用例内存超限,所以用vecto...原创 2020-02-05 01:31:41 · 184 阅读 · 0 评论 -
PAT甲级-1047 Student List for Course (25分)
STL中vector声明1.vector< typename> name;//一维变长数组typename可以是任何基本类型,int,double,char,结构体等若想要初始化 eg.vector< typename> num(10);//圆括号2.vector< typename>Arrayname[arraySize];//vector数组,二维...原创 2020-02-03 21:05:37 · 131 阅读 · 0 评论 -
PAT甲级-1148Werewolf - Simple Versio(零基础都能看懂!!!!!)
乙级1089是此题中文版,可以对照。https://pintia.cn/problem-sets/994805260223102976/problems/1038429385296453632题意分析N个玩家,每个玩家发言+5代表该玩家说5号玩家是农民。-4代表该玩家说4号玩家是狼人。我们俩层大循环穷举假设i,j为俩个狼人。第三层循环判断是不是 一共有两人撒谎,有一狼说谎,有一人说谎...原创 2020-02-03 02:37:39 · 269 阅读 · 0 评论 -
PAT甲级刷题准备
本人写博客的原因:本人大三学生,计科渣渣,觉得自己编程水平太差,所以决定今天开始刷PAT甲级锤炼自己(之前乙级刷了30多道,但没考过PAT考试,时间太紧还要准备考研,所以直接上甲级)。加上今年肺炎疫情原因,陈越姥姥在微博说今年三月份的PAT考试大概率推迟到六月,所以也算是个充电契机。这时候才开始刷题提高自己,其实自己有些后悔,但总要有个开始。万事开头难,管什么真理无穷,进一步有一步的欢喜!...原创 2020-02-01 19:23:49 · 3605 阅读 · 0 评论 -
PAT甲级1154 Vertex Coloring (零基础都能看懂)
1154 Vertex Coloring (25分)A proper vertex coloring is a labeling of the graph’s vertices with colors such that no two vertices sharing the same edge have the same color. A coloring using at most k c...原创 2020-02-02 13:48:06 · 471 阅读 · 0 评论