自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

坚不萌

从必然人走向自由人。

  • 博客(38)
  • 收藏
  • 关注

原创 1044. Shopping in Mars (25)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10442. 思路:题意:问题抽象出来就是给定一串数字,找出所有子串数字和=给定值M的序列。如果没有,就找出比M大但最小的所有子串数字和序列。思路:逻辑处理题。有点类似于动态规划。既然是两种情况,先是一次循环,找出相等的,同时记录大于M的最小值X。若没有相等的,

2017-01-31 21:00:21 177

原创 1043. Is It a Binary Search Tree (25)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10432. 思路:题意:判断给出的序列是否二叉搜索树的先序或者镜像后的先序,是的话,输出后序。思路:因为给出的不一定是BST,所以我们先假设是,按照BST的特性依次插入建树。然后再先序遍历该树,和给出的序列相同,则是。最后后序遍历,输出即可。不难,但是有点麻烦。

2017-01-31 19:12:50 202

原创 1042. Shuffling Machine (20)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10422. 思路:题意:按照给定交换规则排序。基础逻辑题思路:比较简单,用两个数组a,ba存储交换前的,b存储交换后的。3. 源码(已AC):#includeusing namespace std;const int M = 54;int main(voi

2017-01-31 11:57:49 150

原创 1041. Be Unique (20)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10412. 思路:题意:给出N个数字,求出只出现一次的第一个数字。思路:基础的逻辑题,比较简单。用map,存储出现次数,同时把数字压入vector。然后遍历vector,输出第一个出现一次的数字。3. 源码(已AC):#include#include

2017-01-30 23:27:50 164

原创 1040. Longest Symmetric String (25)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10402. 思路:题意:求最大的对称子串。文字处理题。思路:采用以每个字符为中心遍历的暴力方法。需要注意奇偶对称两种情况。3. 源码(已AC):#include#includeusing namespace std;int main(void){

2017-01-30 22:48:36 146

原创 1039. Course List for Student (25)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10392. 思路:题意:求学生选的课程。比较简单思路:由于这道题卡时间,不能用string和map.只好把字符串id映射成数字下标啦。每个id对应一个集合,利用集合的有序性不用再排序了3. 源码(已AC):#include#includeusing n

2017-01-30 20:08:31 172

原创 1038. Recover the Smallest Number (30)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10382. 思路:题意:根据给定的字符串组合成最小的数。数学逻辑题,有点难。思路:显然最后的数是大数,要当成字符串处理。我们很容易想到升序排序。接下来有一个问题,即题中所述的出现前缀的情况。这个时候默认的排序显然不正确了。于是我们必须重新构建比较函数,如何比较

2017-01-30 16:36:14 156

原创 1037. Magic Coupon (25)

1. 原题:https://www.patest.cn/contests/pat-a-practise/10372. 思路:题意:给出的信息很复杂,其实就是求两个集合中的数相乘后的和的最大值。条件是每个数只能用1一次。思路:如何让和最大,显然乘积必须大于0.于是我们就有了思路,排序后,两个最大的正数相乘或者两个最小的负数相乘。实现就用vector,也可以用动态数组。

2017-01-30 14:20:31 155

原创 1036. Boys vs Girls (25)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10362. 思路: 基础数据处理题,读入数据时处理就可以了3. 源码(已AC):#include#includeusing namespace std;struct Node //学生结构体{ Node(): score(-1) {} string name

2017-01-30 11:31:38 160

原创 1035. Password (20)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10352. 思路:题意:转换相应的字符。思路:基础文字处理题,比较简单。直接用vector,把改过的压入vector里。3. 源码(已AC):#include#include#includeusing namespace std;struct Node

2017-01-30 10:54:16 167

原创 1034. Head of a Gang (30)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10342. 思路:题意:给你很多条边,求出符合条件的连通分量数,以及每个连通分量中的成员数。思路:由于给出的结点不是数字编号且不连续,需要进行转换。这里,把三个字符看做26进制,模拟图的构造,稀疏边,用邻接表。求连通分量可以用dfs,或者并查集。这里用的d

2017-01-29 23:57:56 198

原创 1033. To Fill or Not to Fill (25)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10332. 思路:题意:求起点到终点如何加油花费最少。思路:如何费用最少?即我用最少的钱跑最远的距离。典型的贪心算法问题。关键是如何构建贪心策略。首先处理两个特例,1. 起点无加油站,直接输出2. 终点即起点,直接输出;普通情况:我们不妨假

2017-01-29 18:55:06 165

原创 1032. Sharing (25)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10322. 思路:题意:找两个单词的共同后缀,不过给出的不是链表,而是静态链表。思路:用数组下标模拟链表。分别求出两个单词长度,然后把词尾对齐,然后逐一比较是否相同。不要用cin,会超时。3. 源码(已AC):#includeusing name

2017-01-28 21:07:45 174

原创 1031. Hello World for U (20)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10312. 思路:题意:根据给定字符串,输出符合条件的“U”形字符串。思路:关键是如何确定三边的边长。常规做法是一点点试探。其实从条件中我们可以发现两条竖边尽可能地接近横边。然后我们可以得出n1 = (N+2)/3这个规律。剩下就直接输出啦3. 源

2017-01-28 19:31:10 137

原创 1030. Travel Plan (30)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10302. 思路:题意:单源最短路径,路径相等则判断费用最小。比较简单。思路:直接用dijkstra算法,同时把到达某点的上一个结点存储在path里,用于输出路径。3. 源码(已AC):#includeusing namespace std;const in

2017-01-28 17:23:32 177

原创 1029. Median (25)

1. 原题:https://www.patest.cn/contests/pat-a-practise/10292. 思路:题意:比较简单,就是求两个有序序列合并后的中位数。思路:有多种方法。可以用队列,也可以数下标。由于数据较多,不知直接用sort是否可行。此处采用数下标,数到中间的输出即可。注:有两个1分的测试点未过,欢迎指正。3. 源码(有2个1分测试

2017-01-28 00:19:15 242 2

原创 1028. List Sorting (25)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10282. 思路:排序问题。注意不要用string表示名字,会超时同时I/O用printf和scanf。3. 源码(已AC):#include#include //使用sort函数#include //使用strcmp函数using namespace std;

2017-01-27 19:42:27 154

原创 1027. Colors in Mars (20)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10272. 思路:题意:10进制转成13进制.比较简单,直接转换就好。3. 源码(已AC):#includeusing namespace std;char base[13] = {'0', '1', '2', '3', '4', '5', '6', '7

2017-01-27 17:15:36 195

原创 1026. Table Tennis (30)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10262. 思路:题意:数据处理题。比较复杂,要仔细读题。细节点:1. 每人最多服务2小时,比如要求3小时,但服务2小时就结束。有一个测试点好像是4或者5,我陷在这里很久。2. 等待服务的队列中有vip时,vip优先。优先细则是,若vip用户可选择多个球桌,v

2017-01-27 15:46:25 488

原创 1025. PAT Ranking (25)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10252. 思路:题意:对考生成绩进行局部和整体排名。思路:每个考生结构体进行排序就可以了。排序函数可以单独写,为了简便,写在结构体里面(重载)。3. 源码(已AC):#include#include#include //使用sort()#inclu

2017-01-26 14:11:50 202

原创 1024. Palindromic Number (25)

1. 原题:https://www.patest.cn/contests/pat-a-practise/10242. 思路:题意:给定步骤,判断回文问题。基本运算题。由于数据比较大,长整型无法满足运算,必须用字符串实现加法。3. 源码(已AC):#include#include#include //使用reverse函数using namespace std;

2017-01-25 23:19:04 145

原创 1023. Have Fun with Numbers (20)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10232. 思路:题意:判断一个数的2倍所含有的数字是否和原来的相同。思路:基本运算题。由于一个数可能有20位,只能用字符串string处理了。2倍也要自己模拟乘法。最后用两个表示数位的数组,判断每个元素是否相等。3. 源码(已AC):#include

2017-01-25 21:01:12 278

原创 1022. Digital Library (30)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10222. 思路:题意:模拟信息检索。数据处理题,逻辑上不难理解。思路:既然检索关键字,当然会想到用map。所以利用5个map,键值存储id。这里键值类型用的stl中的集合,也可以用vector,再进行排序。而set默认字典序排列。为了简便,用了set。

2017-01-25 19:31:34 254

原创 1021. Deepest Root (25)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10212. 思路:题意:先判断是否连通,连通则找出某结点开始能到达的最大深度;否则,输出多少个连通分量。思路:题目给出N-1个边,可排除N个结点形成的环。找出连通分量可用dfs, 也可以并查集,通用是并查集。最大深度可以bfs,也可以dfs。注:图是稀疏图

2017-01-25 15:07:40 217

原创 1020. Tree Traversals (25)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10202. 思路:比较简单,先dfs递归利用给出的中序和后序的特点构建唯一的树,然后利用BFS层序输出。3. 源码(已AC):#include#includeusing namespace std;const int MAX = 30; //最大结点数struc

2017-01-24 16:21:43 191

原创 1019. General Palindromic Number (20)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10192. 思路:题意:判断一个十进制数在某进制下是否回文。基本逻辑题。思路:先进行进制转换,然后判断即可。此处使用了vector容器。注意0的特殊情况。3. 源码(已AC):#include#includeusing namespace std;

2017-01-23 22:30:33 144

原创 1018. Public Bike Management (30)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10182. 思路:题意:找出一条最优路径, 条件:min_len > min_send > min_back, 优先级依次降低。在优化目的站点的过程中,同时优化经过的每个站点,注意这是单向的。比如, perfect = 5, 1号 3, 2号 7, 不会把2号的调给1,此

2017-01-23 21:30:16 183

原创 1017. Queueing at Bank (25)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10172. 思路:题意是计算有效客户的平均等待时间。由于到达时间无序,需要先排序。然后对每个客户,记录窗口空闲时的时间,更新客户的等待时间。因为每个窗口只有一个人,所以就不需要建队列了,通过数组来模拟。为计算方便,时间全部换算成秒。注:最后一个测试点(2分

2017-01-22 21:38:30 312

原创 1016. Phone Bills (25)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10162. 思路:数据处理统计题,比较繁琐。题意是计算用户的月有效费用。可以构建结构体,然后排序。为求简便,这里使用map, 利用map的有序性。注:该代码最后一个测试点未AC,欢迎指正。PS2:数据有效性,若1on, 2 on, 3 off, 则1会被抛弃。

2017-01-22 00:04:50 259

原创 1015. Reversible Primes (20)

1. 原题:https://www.patest.cn/contests/pat-a-practise/10152.思路:基本数学题。题意是判断一个十进制数是否素数,再判断该数在某进制下的反转数是否也是。比较简单,直接写函数判断就是了。注意1的情况。3.源码(已AC)#include #include #includeusing namespace std;i

2017-01-21 19:56:04 198

原创 1014. Waiting in Line (30)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10142. 思路:题意是银行排队问题。考查队列和FCFS(先来先服务).利用STL中的queue, 模拟银行排队,计算顾客的排队窗口和离开时间。3. 源码(已AC)#include#include#includeusing namespace std;c

2017-01-21 18:39:48 210

原创 1013. Battle Over Cities (25)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10132. 思路:题意是有一个图,某个点抹掉后,求剩下可以构成几个子图,然后减去1就是恢复道路条数。基础算法题。可以用DFS, BFS, 并查集。这里DFS最简单。3. 源码(已AC)#include#include //memset()using nam

2017-01-20 23:59:33 216

原创 1012. The Best Rank (25)

1. 原题:https://www.patest.cn/contests/pat-a-practise/10122. 思路:题意是求每个学生的多个成绩的最佳排名。说到这里,有一个巨大的坑,会影响你AC。想起这儿,心都碎了,d了好多次。结果的排名形式是相同成绩排名相同,但不同成绩不是排名的简单递增,而是总人数的排名。比如正确的排名是1,2,2,3,3,6. 而不是“1,2,2,3

2017-01-20 22:24:56 274

原创 1011. World Cup Betting (20)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10112. 思路题意是给出三场比赛的胜负平的赔率(题目给出的是1赔几)投入2块(即两倍注),求出最大赢利。基本的I/O问题。有很多方法,数组,模板STL都可以。我定义了一个结构体。注意:最后的结果两位小数,四舍五入。3. 源码(已AC)#include#

2017-01-19 22:44:58 377

原创 1010. Radix (25)

1. 原题: https://www.patest.cn/contests/pat-a-practise/10102. 思路:思路:基本逻辑题,考查细心啊。题意是看是否存在一种进制,让两个数相等。关键是怎么确定进制的上限和下限。显然,下限是从s2字符串中的最大字符+1开始算起,上限是s1表示的十进制数值+1了。那么上限我们从题意无法判断,又可能很大。不能用顺序循环判断,只有

2017-01-18 23:59:03 203

原创 1009. Product of Polynomials

1. 原题:https://www.patest.cn/contests/pat-a-practise/10092. 方法思路:思路: 题意是求两多项式的乘积。有多种数据结构,可以用链表,或者STL中的set,map等。然后就是逐项相乘啦。为求算法简便,选用map。3.源代码(已AC)#include#includeusing namespace std;/*

2017-01-17 23:12:04 214

原创 1008. Elevator

1.原题:https://www.patest.cn/contests/pat-a-practise/10082.思路:基本的数学运算。3.源码:#includeusing namespace std;const int up_time = 6;const int down_time = 4;const int stay_time = 5;//思路:基本的数学运算。in

2017-01-16 20:08:13 263

原创 1007. Maximum Subsequence Sum

原题: https://www.patest.cn/contests/pat-a-practise/1007思路:题意是求最大连续子列和。有多种方法,可以用brute force,分而治之法,最简单的是动态规划法。即假设a[i]之前的连续和now_sum,要使加上a[i]后和更大,必须now_sum > 0。遍历每个元素后,用now_sum和max_sum比较,若now_sum

2017-01-16 19:40:38 169

空空如也

空空如也

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

TA关注的人

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