自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 PAT甲级 1018 Public Bike Management (30 分)

题目:戳这里题意:这题的题意理解很关键。总共有1个自行车管理中心和n个自行车摆放处,管理中心在0处,要求到达sp处,求在路径最短的情况下,需要从管理中心送出自行车最少的情况。如果路径最短且送出自行车最少的情况有多种,则求该情况下,回收自行车最少的情况。解题思路:大致方法不难想出,先求最短路径,把最短路径下的所有路径都给记录下来,然后dfs遍历所有情况。(其实我刚看这道题的时候,想的是2...

2019-08-31 16:45:40 158

原创 PAT甲级 1017 Queueing at Bank (25 分)

题目:戳这里题意:银行8点开门,17点关门,有k个窗口,每个窗口前只能有一人在处理业务。共有n个人排队,问银行营业时间内所有人的平均等待时间。需要注意:只要其到达时间在8~17之间就行,即使这个人到窗口前已经过了17点了也会给他处理业务。如果处理业务时间大于60分钟,则只会给他办理60分钟业务。解题思路:这题和 1014 很像,但不一样,建议对比着做。因为所有人只要在8~17点以...

2019-08-31 10:01:10 150

原创 PAT甲级 1016 Phone Bills (25 分)

题目:戳这里题意:模拟通话账单记录。首先给出24个数表示每天的24小时,每个时间段通话的话费各是多少(注意,1美刀=100美分)。接着给出n个记录,每个记录的内容有通话人姓名、通话时间点,是接入时间点还是挂断时间点。求每个用户的账单。注意:每一组样例的月份都是一样的。通话记录只有 同一个人、时间相邻且接入在前挂断在后 时才有效。每个人可能在账单中有多次通话记录。解题思路:模拟。...

2019-08-24 17:46:05 156

原创 PAT甲级 1015 Reversible Primes (20 分)

题目:戳这里题意:给一个数的十进制值n和这个数的进制d,求该数转化为d进制后的reverse和该数本身是否都是质数。解题思路:感觉这题题意没讲清楚,我对着样例猜的题意。知道题意就简单了,对着题意直接写即可。代码:#include <iostream>#include <cstring>#include <algorithm>#include &lt...

2019-08-24 14:50:57 160

原创 PAT甲级 1014 Waiting in Line (30 分)

题目: 戳这里题意:k个人去银行取钱,有n个窗口,每个窗口黄线以内可以站m个人。黄线以外的人看那个窗口人少就去哪个办理业务,如果有几个窗口人一样少,就去窗口号小的那个排队。输出每个人办理完业务的时间。需要注意一点,如果17点以前(不包括17点整),这个人还没有在窗口前办理业务,那就输出sorry。因为这点我没理解清楚所以写了好久解题思路:模拟。代码有注释:#include <iost...

2019-08-24 12:45:38 114

原创 PAT甲级 1013 Battle Over Cities (25 分)

题目:戳这里题意:给n个城市,m条边,再给k种情况,每种情况都有一个城市与其他城市隔离,问其他城市需要加多少条边才能互相连通。解题思路:巧用vis数组,如果x城市与其他城市隔离,那么令vis[x]=1,假设该城市已经遍历过即可,接下来就是直接深搜遍历城市,需要遍历y遍,就需要加y-1条边,看起来很暴力,但其实每个点也就遍历1次而已,整体来说是O(n^2)的复杂度。代码:#include &...

2019-08-23 17:36:13 90

原创 PAT甲级 1012 The Best Rank (25 分)

题目:戳这里题意:给出n个学生3门学科的成绩,求m个学生的,3门学科及平均成绩中 排名最高的名次及学科,注意当某学生排名最高的名次有多个时,按A>C>M>E的优先级输出。解题思路:模拟。有一点题目中没讲,就是是否可能出现成绩并列的情况,我先按没有并列做了一下,有个样例不过,然后改成有成绩并列就过了。代码中有一些细节注释:#include <iostream>...

2019-08-22 15:22:57 201

原创 PAT甲级 1011 World Cup Betting (20 分)

题目: 戳这里题意:说实话,没读明白。解题思路:对着样例模拟就行了。代码:#include <iostream>#include <cstring>#include <algorithm>using namespace std;typedef long long ll;const int maxn=10+10;double nu[maxn]...

2019-08-22 14:27:34 113

原创 PAT甲级 1010 Radix (25 分)

题目:戳这里题意:输入四个数N1 N2 tag radix,其中tag为1表示N1的基数为radix,tag为2表示N2的基数为radix。求另一个数的基数,使得N1==N2。解题思路:这题用暴力试过了,超时,所以改成二分基数。不得不说一个正确的二分对我来说还是比较难写的,这题扣二分边界和一些坑,花了两个小时才满分。代码中注释的有我个人认为的坑点和我自己测试用的样例。#includ...

2019-08-21 21:14:53 157

原创 PAT甲级 1009 Product of Polynomials (25 分)

题目: 戳这里题意:给出两个多项式,每个多项式有K项,指数位为N,系数为AN,求两个多项式想乘。解题思路:和 这题 可以放一块做,一个是加法,一个是乘法。模拟的过程中,需要注意一点,就是系数为0的时候不用输出。代码:#include <iostream>#include<cstring>using namespace std;const int maxn=...

2019-08-21 17:10:07 106

原创 PAT甲级 1008 Elevator (20 分)

题目:戳这里题意:模拟电梯,电梯起始点在0层,上一层需要6s,下一层需要4s,总共有n次stop,每次stop停留5s。解题思路:模拟。代码:#include <iostream>#include<cstring>using namespace std;const int maxn=10000+10;int nu[maxn];int main() { i...

2019-08-21 16:54:22 121

原创 PAT甲级 1007 Maximum Subsequence Sum (25 分)

题目:戳这里题意:给k个数,求这个数的最大子串和,输出最大子串和以及该子串左右两边的数值。解题思路:1e4的长度,可以O(n^2)暴力,先记录前缀和,然后两层循环遍历子串区间(l,r],子串和为sum[r]-sum[l]。也可以用dp写,O(n)求最大子串和。dp:#include <iostream>#include<cstring>using name...

2019-08-21 16:44:47 124

原创 PAT甲级 1006 Sign In and Sign Out (25分)

题目:戳这里题意:给m个人的id,签到时间和签退时间,求当天开门和关门之人的id。解题思路:模拟。代码如下:#include <cstdio>#include <iostream>#include <cstring>#include <string>#include <map>#include <stack&gt...

2019-08-20 17:09:53 128

原创 PAT甲级 1005 Spell It Right (20 分)

题目链接:戳这里题意:输入一个数x,设该数每位之和为y。把y上面的每位数字用英语输出。解题思路:模拟。代码如下:#include <cstdio>#include <iostream>#include <cstring>#include <string>#include <map>#include <stack...

2019-08-20 16:52:27 131

原创 PAT甲级 1004 Counting Leaves (30 分)

题目:戳这里题意:给一棵树,有n个点,m个非叶子节点,求书上每一层有多少个叶子节点。解题思路:dfs或bfs进行搜索,用rk记录每个点在哪一层,cnt记录每一层有多少叶子节点。注意一个特殊样例:input:1 0output1代码如下:#include <cstdio>#include <iostream>#include <cstring&gt...

2019-08-20 16:14:16 82

原创 PAT 甲级1003 Emergency (25)

题目:戳这里题意:求从c1到c2最短路径的条数,以及路径最短情况下能找到的最大帮手数。解题思路:我是用dijkstra,当路径更新的同时更新经过该点的次数、到该点为止的帮手数。当路径不更新的时候,就直接把到v点的所有cnt[u]加到cnt[v]上面,同时比较下帮手数是否需要更新。这题的难点应该在于如何计算路径条数,其实就是多一个数组,用来记录每个点会经过几次,到达一个点了,就把之前所有点...

2019-08-20 14:58:03 105

原创 PAT甲级 1002 A+B for Polynomials (25)

题目:戳这里题意:求两个多项式的和输入有两行,每一行含K N aN…,其中k表示有几个变量,n表示变量的阶,aN表示系数。需要注意的是,当系数为0时不需要输出。代码:#include <cstdio>#include <iostream>#include <cstring>#include <string>#include &l...

2019-08-20 14:08:50 119

原创 PAT甲级 1001. A+B Format (20)

题目:戳这里题意:输入a,b,输出a+b,其中每隔三位要有一个逗号。代码:#include <cstdio>#include <iostream>#include <cstring>#include <string>#include <map>#include <stack>#include <str...

2019-08-19 17:34:40 94

原创 CSP 201903-4 消息传递接口

题目:戳这里题意:t组样例,每组有n个进程。每个进程有1~8个指令,进程中的指令按顺序执行,问样例中的指令是否合法。解题思路:用队列模拟执行指令的过程。本人代码:#include <cstdio>#include <iostream>#include <cstring>#include <string>#include <m...

2019-08-09 10:56:19 319

原创 CSP 201903-3 损坏的RAID5

题目链接:戳这里题意:有n个硬盘,把n个硬盘分成许多个条带,每个条带含有s个块,按照 RAID5 的规则,即每一行的条带中都会有一个条带负责校验,它的值是其他条带的异或和。把数据存放在n个硬盘中,求第temp块上存储的数据。注意:最大的数据长度为40KB,数据中每两个字符组成一个字节,因此数组需要开到80000。这题题意很难读,好在第二个样例给出了图,可以对着那个图模拟。下面本人ac代码...

2019-08-06 13:59:41 341

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除