![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PTA
岁忧
(目前更新LeetCode每日一题ing)记录一些平时做的题目,写些小小的心得。
展开
-
PTA 甲级 1015 Reversible Primes(simple)
题目:1015 Reversible Primes题解:意思是让你先判断n是不是素数,然后将n在d进制下的数反转并转换为十进制的数sum,然后判断sum是否为素数。n和sum都为素数就输出Yes。#include<bits/stdc++.h>#define x first#define y secondusing namespace std;typedef pair<int ,int > PII;const int N=1e6+10;const int mod=1e原创 2022-04-26 17:28:58 · 320 阅读 · 0 评论 -
PTA 甲级 1014 Waiting in Line (30 分)(测试点4,5)
题目:1014 Waiting in Line (30 分)题解:注意事项!!!血的教训1.首先就是只要在17:00之前接受服务的客户,及时截止时间超过17:00,也是会被服务的,也就是说不能输出sorry2.注意n、m的取值,如果两个等于0 ???所以这里对队列的处理最好是i<=n*m。这个错误找了好久,看我下面那个注释掉的,就是窗口前的第1位和后面m-1位拆开来处理了,会导致错误的发生#include<bits/stdc++.h>using namespace std;原创 2022-04-15 11:14:12 · 450 阅读 · 0 评论 -
PTA 甲级 1013 Battle Over Cities (25 分)
题目:1013 Battle Over Cities (25 分)题解:dfs,其实就是找去掉那个X点后,有几个连通子图ct,然后用ct-1连起就可以了。#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<double,int> PII;const int N=1010;const int mod=100000007;int n,m,k;vector<i原创 2022-04-14 16:01:23 · 148 阅读 · 0 评论 -
PTA 甲级 1012 The Best Rank (25 分)
题目:1012 The Best Rank (25 分)题解:先将四种成绩按从大到小排序,然后对每次询问去二分查找对应成绩的位置,(按,a,c,m,e的次序进行即可)#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<double,int> PII;const int N=2010;const int mod=100000007;unordered_map&l原创 2022-04-14 15:43:48 · 161 阅读 · 0 评论 -
PTA 甲级 1011 World Cup Betting (20 分)
题目:1011 World Cup Betting (20 分)题解:样例输入的格式:每一场比赛W、T、L的赔率;输出格式:每场的选择,和最后的结果#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<double,int> PII;const int N=1e5+10;const int mod=100000007;char a[3]={'W','T','L'}原创 2022-04-14 15:44:23 · 102 阅读 · 0 评论 -
PTA 甲级 1010 Radix (25 分)
题目:1010 Radix (25 分)题解:二分法,最低low为n[(tag-1+1)%2]+1,最大为max(ed,low),ed为已给出基数的最终值。注意的是在二分的时候,我们计算的sum会超过long long 的正整数的范围变为负数,这时我们切记返回-1,表示该值远远大于ed,便于二分时缩小范围#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<int,doubl原创 2022-04-13 20:12:43 · 297 阅读 · 0 评论 -
PTA 甲级 1009 Product of Polynomials (25 分)
题目:1009 Product of Polynomials (25 分)#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<int,double> PII;const int N=1e5+10;const int mod=100000007;double c[2010];PII a[1010],b[1010];int main(){ int n,m;原创 2022-04-13 15:57:25 · 110 阅读 · 0 评论 -
PTA 甲级 1008 Elevator (20 分)
题目:1008 Elevator (20 分)#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<int,string> PII;const int N=1e5+10;const int mod=100000007;int a[110];int main(){ int n; cin>>n; for(int i=1;i<=原创 2022-04-13 15:44:55 · 111 阅读 · 0 评论 -
PTA 甲级 1007 Maximum Subsequence Sum (25 分)
题目:1007 Maximum Subsequence Sum (25 分)题解:注意最大子序列全为0的时候#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<int,string> PII;const int N=1e5+10;const int mod=100000007;LL a[10010];int main(){ int n; cin原创 2022-04-13 15:22:52 · 123 阅读 · 0 评论 -
PTA 甲级 1006 Sign In and Sign Out (25 分)
题目:1006 Sign In and Sign Out (25 分)题解:将时间处理成秒为单位的整数 ,然后排序即可#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<int,string> PII;const int N=1e5+10;const int mod=100000007;PII p[N],q[N];int main(){ int n;原创 2022-04-13 14:51:50 · 171 阅读 · 0 评论 -
PTA 甲级 1005 Spell It Right (20 分)
1005 Spell It Right (20 分)题解:因为N很大,已经超过long long 范围,所以按字符串读入,然后对每一位进行相加,然后输出对应的英文就可#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<int,int> PII;const int N=1e5+10;const int mod=100000007;string s;string a原创 2022-04-13 14:39:14 · 85 阅读 · 0 评论 -
PTA 甲级 1004 Counting Leaves (30 分)
1004 Counting Leaves (30 分)题解:就是dfs遍历一遍树,参数是结点id和当前的层数。#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<int,int> PII;const int N=1e5+10;const int mod=100000007;vector<int > g[110];int n,m;int ct[11原创 2022-04-13 13:59:17 · 73 阅读 · 0 评论 -
PAT 甲级 1003 Emergency (25 分)
1003 Emergency (25 分)题解:用的dijkstra,注意输出的要求是最短路径的数量和最短路径上最大的消防员数量。一定要注意第一个输出的是:最短路径的数量!!!(我一开始以为是最短路的长度,然后又以为是最短路中经过几个点,最后再看一遍题目发现是最短路的数量。)#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<int,int> PII;const原创 2022-04-13 01:48:23 · 415 阅读 · 0 评论 -
PTA 甲级 1002 A+B for Polynomials (25 分)
1002 A+B for Polynomials (25 分)题解:注意输出的是里面多项式的系数非0的项,可以用fabs(b[i]-0)>1e-3来判断,如果都是非0项那就什么都不要输出。#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<int,int> PII;const int N=1e5+10;const int mod=100000007;doub原创 2022-04-13 00:58:44 · 157 阅读 · 0 评论 -
PTA 甲级 1001 A+B Format (20 分)
1001 A+B Format (20 分)题解:一开始想的是对结果进行%1000循环求出,但是如果有0(比如025)就会少掉一个0,所以就没过,然后想了方法二:对结果装换为字符串去处理,写完了方法二后又想到方法一可以对输出%03d,这样就可以保证里面的0不会被忽略。方法一:对结果进行%1000循环求出,输出时需要注意输出%03d#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair原创 2022-04-13 00:32:54 · 218 阅读 · 0 评论 -
(map)L1-003 个位数统计
L1-003 个位数统计map的键key必须定义“小于号”,也就是可以比较大小,然后map 会自动根据键来升序排序;题目链接#include<iostream>#include<cstring>#include<map>using namespace std;int main() { char a[1100]; cin >> a; int len = strlen(a); map<char, int> mp; for (in原创 2021-03-02 19:55:07 · 109 阅读 · 0 评论