添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

PAT 甲级刷题记录

前言

最近打算考研,目标浙大,所以开始有计划地刷起了PAT甲级。

秉持着less is more的思路,我的规划是:尽可能每道都写一写刷题笔记,做题流程如下:

  1. 尽可能自己实现一遍代码,跑通示例
  2. 无论是否AC,看一看大神解法
  3. 看完大神解法后,无提示情况下重现一遍,找到遗漏的关键点
  4. 做笔记,当时理解上的困难点尽可能说明

刷题的类型(也可以参考本文的刷题顺序),和大神解法(建议搜索柳神博客,关键词“柳婼+题号”)如下:

最后,理想是美好的,但实际可能会遇到各种各样的问题。大家加油!

刷题笔记

part0 关于常见套路和埋坑的总结

todo0:总结刷题过程中遇到的各式各样的问题,比如各类头文件的使用,debug的经验,一些细节导致的难以调试的问题

todo1:总结排序题的常见套路和写法

todo2:回顾并总结字符串处理题的常见类型、套路和写法

part1 模拟题(重点,而且模拟题并不简单hhh)

这类题几乎不需要数据结构、算法基础,主要通过简单的逻辑流程和判断实现,以字符串的处理为主

1.0 字符串处理

(待总结)1001 A+B Format 【字符串处理】

(待总结)1005 Spell It Right【字符串处理】

1035 Password 【字符串处理】

1061 Dating 【字符串处理】

1073 Scientific Notation 【字符串处理】

1077 Kuchiguse 【字符串处理】

1082 Read Number in Chinese 【字符串处理】

1.1 简单模拟

(待总结)1002 A+B for Polynomials 【简单模拟】

(待总结)1009 Product of Polynomials 【简单模拟】

1042 Shuffling Machine 【简单模拟】

1046 Shortest Distance 【简单模拟】

1065 A+B and C (64bit) 【简单模拟】

1.2 进制转换

(待总结)1019 General Palindromic Number 【进制转换】

1027 Colors in Mars 【进制转换】

1058 A+B in Hogwarts 【进制转换】

1.3 查找元素

(待总结)1006 Sign In and Sign Out 【查找元素】

(待总结)1011 World Cup Betting 【查找元素】

1036 Boys vs Girls 【查找元素】

1.5 其它

1031 Hello World for U 【图形输出】


part2 常用技巧与算法

排序题有很鲜明的套路,重在理解排序的规则,通常写起来不算太复杂 贪心题没有固定套路,重在理解思想,其中[ 1033 To Fill or Not to Fill] 最为经典,建议对其研究透彻 (注,由于贪心题不在考纲内,现移到part5)

2.0 二分

1010 Radix 【二分】

1044 Shopping in Mars 【二分】

1048 Find Coins 【散列/二分/双指针】

1085 Perfect Sequence 【二分/双指针】

2.1 排序

1012 The Best Rank 【排序】

1016 Phone Bills 【排序】

1025 PAT Ranking 【排序】

1028 List Sorting 【排序】

1055 The World's Richest 【排序】

1062 Talent and Virtue 【排序】

1075 PAT Judge 【排序】

1080 Graduate Admission 【排序】

1083 List Grades 【排序】

1095 Cars on Campus【排序】

2.2 散列

1041 Be Unique 【散列】

1048 Find Coins 【散列/二分/双指针】

1050 String Subtraction 【散列】

1084 Broken Keyboard 【散列】

1092 To Buy or Not to Buy 【散列】

2.3 双指针

1029 Median【双指针】

1085 Perfect Sequence 【二分/双指针】

1089 Insert or Merge 【双指针/模拟排序】

2.4 贪心(已移出至part5)


part3 数学

3.0 简单数学

(待总结)1008 Elevator 【简单数学】

1049 Counting Ones 【简单数学】

1069 The Black Hole of Numbers 【简单数学】

1104 Sum of Number Segments 【简单数学】

3.1 素数

1015 Reversible Primes【素数】

1078 Hashing 【素数/哈希】

3.2 大整数运算

1023 Have Fun with Numbers【大整数运算】

1024 Palindromic Number 【大整数运算】

3.3 质因子分解(掌握下辗转相除法)

1059 Prime Factors 【质因子分解】

1096 Consecutive Factors 【质因子分解】

3.4 分数的四则运算

1081 Rational Sum 【分数的四则运算】

1088 Rational Arithmetic 【分数的四则运算】

3.5 活用递推

1093 Count PAT's 【活用递推】

1101 Quick Sort 【活用递推】


part4 常见数据结构(重点)

4.0 STL使用

1051 Pop Sequence 【stack的应用】

1056 Mice and Rice 【queue的应用】

1060 Are They Equal 【string的常见用法】

1063 Set Similarity 【set的常见用法】

1039 Course List for Student 【vector的常见用法】

1047 Student List for Course 【vector的常见用法】

1054 The Dominant Color 【map的常见用法】

(待总结)1022 Digital Library 【map的常见做法】

1071 Speech Patterns 【map的常见用法】

1100 Mars Numbers 【map的常见用法】

4.1 链表(套路总结在 1097 中)

1032 Sharing 【链表处理】

1052 Linked List Sorting 【链表处理】

1074 Reversing Linked List 【链表处理】

1097 Deduplication on a Linked List 【链表处理】

4.2 BFS和DFS

1091 Acute Stroke 【BFS】

1103 Integer Factorization 【DFS】

4.3 树

1004 Counting Leaves 【树的遍历】

1053 Path of Equal Weight 【树的遍历】

1079 Total Sales of Supply Chain 【树的遍历】

1090 Highest Price in Supply Chain 【树的遍历】

1094 The Largest Generation 【树的遍历】

1106 Lowest Price in Supply Chain【树的遍历】

1043 Is It a Binary Search Tree 【二叉查找树】

1064 Complete Binary Search Tree 【二叉查找树】

1099 Build A Binary Search Tree 【二叉查找树】

1020 Tree Traversals 【二叉树的遍历】

1086 Tree Traversals Again 【二叉树的遍历】

1102 Invert a Binary Tree 【二叉树的遍历】

1066 Root of AVL Tree 【平衡二叉树】

1098 Insertion or Heap Sort 【堆】

1107 Social Clusters【并查集】

4.4 图

1013 Battle Over Cities 【图的遍历】

1021 Deepest Root 【图的遍历】

1034 Head of a Gang 【图的遍历】

1076 Forwards on Weibo 【图的遍历】

1003 Emergency 【最短路径】

1018 Public Bike Management 【最短路径】

1072 Gas Station 【最短路径】

1087 All Roads Lead to Rome 【最短路径】


part5 “超纲题”(常见于pat顶级)

1033 To Fill or Not to Fill 【贪心】

1037 Magic Coupon 【贪心】

1038 Recover the Smallest Number 【贪心】

1067 Sort with Swap(0, i) 【贪心】

1070 Mooncake 【贪心】

1040 Longest Symmetric String 【最长子回文串/字符串hash】

(暂不做)1007 Maximum Subsequence Sum 【最大连续子序列和】

(暂不做)1045 Favorite Color Stripe 【最长不下降子序列 LIS/最长公共子序列 LCS】

(暂不做)1057 Stack 【分块思想/树状数组】

(暂不做)1068 Find More Coins 【背包问题】

(暂不做)1014 Waiting in Line 【快乐模拟】

(暂不做)1017 Queueing at Bank 【快乐模拟】

(暂不做)1026 Table Tennis 【快乐模拟】

(暂不做)1105 Spiral Matrix 【快乐模拟】

编辑于 2020-07-01 14:15

文章被以下专栏收录