PAT甲级题解(慢慢刷中)
博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~
http://www.cnblogs.com/chenxiwenruo/p/6102219.html
特别不喜欢那些随便转载别人的原创文章又不给出链接的
所以不准偷偷复制博主的博客噢~~
时隔两年,又开始刷题啦,这篇用于PAT甲级题解,会随着不断刷题持续更新中,至于更新速度呢,嘿嘿,无法估计,不知道什么时候刷完这100多道题。
带*的是我认为比较不错的题目,其它的难点也顶多是细节处理的问题~
做着做着,发现有些题目真的是太水了,都不想写题解了,就贴个代码吧,就是这样任性~~
寒假刷的不多,然而一个题解都没写,妈呀,要狂补一下了。。。
发现,做过的题目中,涉及字符串处理的有很多,即使不是关于字符串的题目,有时候也需要对输入啥的进行处理。
说简单也简单,说难也难,所以要刷PAT的童鞋,对于字符串处理还是需要多多考虑全面滴~
细心的童鞋中间可能会发现缺了几道题,是还存在样例没有全过的情况,一旦解决了会慢慢补上滴~
这一百多道题里面,算法题其实并不算很多,大多数主要是模拟、排序、字符串处理啥的。
算法和数据结构的话,主要有:
1.AVL平衡树 (PAT竟然会有两道考AVL树的,有点超出我的预期,当时学数据结构的时候没尝试写过AVL树额,看来多学点还是有必要的)
2.最短路,主要就是dijkstra算法,这个肯定要会写,有的还要让你输出路径。
3.并查集
用来求是否在同一个类别、求连通分支啥的,很简单学学就会了。
其实并查集最主要难的在于种类并查集,但是PAT没有出这类题,所以也就不说了。
4.dfs和bfs,这都不会的话,你好意思说学过计算机么~~
5.树状数组,两种用法,1.单点更新,区间求和2.区间更新,单点求和
6.链表
7.剩下的主要就是STL的运用,如map、vector、queue等,还有巧用struct来定义结构体,以及如何自定义排序
- 1001. A+B Format (20)-字符串处理,水
- 1002. A+B for Polynomials (25)-多项式相加
- 1003. Emergency (25)-最短路径+路径数目
- 1004. Counting Leaves (30)-统计每层叶子节点个数+dfs
- 1005. Spell It Right (20)-数位求和,水
- 1006. Sign In and Sign Out (25)-找最小最大
- 1007. Maximum Subsequence Sum (25)-求最大子区间和
- 1008. Elevator (20)-大么个大水题,这也太小瞧我们做题者的智商了
- 1009. Product of Polynomials (25)-多项式相乘
- *1010. Radix (25)-二分搜索
- 1011. World Cup Betting (20)-误导人的水题。。。
- 1012. The Best Rank (25)-排序水题
- 1013. Battle Over Cities (25)-求联通分支个数
- 1014. Waiting in Line (30)-模拟,优先级队列
- 1015. Reversible Primes (20)-素数
- *1016. Phone Bills (25)-模拟、排序
- 1017. Queueing at Bank (25)-模拟
- 1019. General Palindromic Number (20)-又是水题一枚
- 1020. Tree Traversals (25)-先占个位,提交有点bug,同样的代码交换两个变量位置,一个正确,一个段错误
- 1021. Deepest Root (25)-dfs+并查集
- 1022. Digital Library (30)-map映射+vector
- 1023. Have Fun with Numbers (20)-大数加法
- 1024. Palindromic Number (25)-大数运算
- 1025. PAT Ranking (25)-排序
- 1027. Colors in Mars (20)-水。。。
- 1028. List Sorting (25)-水排序
- 1029. Median (25)-求两序列的中位数,题目更新了之后不水了
- 1030. Travel Plan (30)-最短路+输出路径
- 1031. Hello World for U (20)-字符串处理,水
- 1032. Sharing (25)-链表水题
- *1033. To Fill or Not to Fill (25)-模拟
- 1034. Head of a Gang (30)-并查集
- 1035. Password (20)-水
- 1036. Boys vs Girls (25)-找最大最小,大水题
- 1037. Magic Coupon (25)-贪心,水
- *1038. Recover the Smallest Number (30)-排序/贪心,自定义cmp函数的强大啊!!!
- *1039. Course List for Student (25)-建立映射+vector
- 1040. Longest Symmetric String (25)-求最长回文子串
- 1041. Be Unique (20)-水题
- 1042. Shuffling Machine (20)-模拟
- *1043. Is It a Binary Search Tree (25)-二叉搜索树
- 1044. Shopping in Mars (25)-水题
- 1045. Favorite Color Stripe (30)-LIS
- 1046. Shortest Distance (20)-做了一个假的最短路,水
- 1047. Student List for Course (25)-排序
- 1048. Find Coins (25)-水
- *1049. Counting Ones-数学问题
- 1050. String Subtraction (20)-水题
- 1051. Pop Sequence (25)-堆栈
- 1052. Linked List Sorting (25)-排序
- 1053. Path of Equal Weight (30)-dfs
- 1054. The Dominant Color (20)-排序/map
- *1055. The World's Richest (25)-终于遇见一个排序的不水题
- 1056. Mice and Rice (25)-模拟题
- *1057. Stack (30)-树状数组
- 1058. A+B in Hogwarts (20)-大水题
- 1059. Prime Factors (25)-素数筛选法
- 1060. Are They Equal (25)-字符串处理(科学计数法)
- 1061. Dating (20)-字符串处理,水水
- 1062. Talent and Virtue (25)-排序水题
- 1063. Set Similarity (25)-set的使用
- 1064. Complete Binary Search Tree (30)-中序和层次遍历,水
- 1065. A+B and C (64bit) (20)-大数溢出
- *1066. Root of AVL Tree (25)-AVL树模板题
- 1067. Sort with Swap(0,*) (25)-贪心算法
- **1068. Find More Coins (30)-dp,01背包 (好久没碰背包问题了,这个是真没想到是用01背包解决)
- 1069. The Black Hole of Numbers (20)-模拟
- 1070. Mooncake (25)-排序,大水题
- *1071. Speech Patterns (25)-找出现最多的单词 (带*是因为提供了按自定义分隔符读取字符串的方法,很方便)
- *1072. Gas Station (30)-dijkstra最短路
- *1073. Scientific Notation (20)-字符串处理
- *1074. Reversing Linked List (25)-求反向链表
- *1075. PAT Judge (25)-排序
- 1076. Forwards on Weibo (30)-BFS
- 1077. Kuchiguse (20)-找相同后缀
- 1078. Hashing (25)-hash散列
- 1079. Total Sales of Supply Chain (25)-求数的层次和叶子节点
- 1080. Graduate Admission (30)-排序
- 1081. Rational Sum (20)-模拟分数计算
- 1082. Read Number in Chinese (25)-字符串处理
- 1083. List Grades (25)-简单的排序
- 1084. Broken Keyboard (20)-水题
- 1085. Perfect Sequence (25)-水题
- 1086. Tree Traversals Again (25)-树的遍历
- 1088. Rational Arithmetic (20)-模拟分数计算
- 1089. Insert or Merge (25)-判断插入排序还是归并排序
- 1090. Highest Price in Supply Chain (25)-dfs求层数
- 1091. Acute Stroke (30)-BFS
- 1092. To Buy or Not to Buy (20)-map
- *1093. Count PAT’s (25)-统计字符串中PAT出现的个数
- 1094. The Largest Generation (25)-(dfs,树的遍历,统计每层的节点数)
- *1095. Cars on Campus(30)-(map+树状数组,或者模拟)
- 1096. Consecutive Factors(20)-(枚举)
- 1097. Deduplication on a Linked List (25)-链表的删除操作
- 1098. Insertion or Heap Sort (25)-(插入排序和堆排序)
- 1099. Build A Binary Search Tree (30)-二叉树遍历
- 1100. Mars Numbers (20)-字符串处理
- 1101. Quick Sort (25)-大水题
- 1102. Invert a Binary Tree (25)-(建树,水题)
- *1103. Integer Factorization (30)-(dfs)
- 1104. Sum of Number Segments (20)-(水题)
- 1105. Spiral Matrix (25)-(模拟顺时针矩阵)
- 1106. Lowest Price in Supply Chain (25)-(dfs计算树的最小层数)
- 1107. Social Clusters (30)-并查集
- 1108. Finding Average (20)-字符串处理
- 1109. Group Photo (25)-(模拟拍照排队)
- 1110. Complete Binary Tree (25)-(判断是否为完全二叉树)
- *1111. Online Map (30)-PAT甲级真题(模板题,两次Dijkstra,同时记下最短路径)
- 1112. Stucked Keyboard (20)-(map应用)
- 1113. Integer Set Partition (25)-(见过水的没见过这么水的,不写了)
- 1114. Family Property (25)-(并查集模板题)
- 1115. Counting Nodes in a BST (30)-(构建二分搜索树+dfs)
- 1116. Come on! Let’s C (20)-(素数筛选法)
- 1117. Eddington Number(25)-(大么个大水题~)
- 1118. Birds in Forest (25)-PAT甲级真题(并查集模板题)
- *1119. Pre- and Post-order Traversals (30)-(根据前序、后序求中序)
- 1120. Friend Numbers (20)-水题
- 1121. Damn Single (25)-水题
- 1122. Hamiltonian Cycle (25)-判断路径是否是哈密顿回路
- *1123. Is It a Complete AVL Tree (30)-AVL树+满二叉树
- 下面4道题是2017.3.4日刚结束的题目,3.5日就想给自己限定时间做一做,结果
- 前三题基本是水题,最后一道题也并不难。。。
- 1124. Raffle for Weibo Followers-模拟,水题
- 1125. Chain the Ropes (25)-贪心水题
- 1126. Eulerian Path (25)-欧拉回路+并查集判断图的连通性
- 1127. ZigZagging on a Tree (30)-中序、后序建树
- 1128. N Queens Puzzle (20)-做了一个假的n皇后问题
- 1129. Recommendation System (25)-排序
- 1130. Infix Expression (25)-中序遍历