PAT(pat.zju.edu.cn)是一个面向 C/C++程序的 Online Judge 系统。相比 ZOJ,HDOJ,POJ 等 ACM 题库,PAT 的题目非常基础,对于数据结构、算法的入门是比较有助益的。

本文按照自己的认识,给 PAT advanced level 做出了分类。由于很多题目实际上兼顾有多种解法和思路,我给每道题打上了 tag,来应对分类的独占性局限,供大家参考。

简单题

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

  • 1001 A+B
  • 1002 多项式相加
  • 1005 简单 hash
  • 1006 选极值
  • 1008 模拟电梯
  • 1009 多项式乘法
  • 1011 选极值
  • 1019 数字/字符处理
  • 1024 数字/字符处理
  • 1027 数字/字符处理,简单 hash
  • 1031 数字/字符处理
  • 1035 简单 hash
  • 1036 选极值
  • 1037 简单模拟
  • 1040 数字/字符处理
  • 1046 数字/字符处理
  • 1050 数字/字符处理
  • 1058 数字/字符处理
  • 1060 数字/字符处理

模拟题

这类题也相对简单,需要使用到一些简单的数据结构或者相对复杂的逻辑流程实现。

  • 1022 倒排索引
  • 1023 数字/字符处理
  • 1032 链表
  • 1049 计算数字中的 1
  • 1051 模拟栈
  • 1052 链表
  • 1054 dominant color
  • 1056 模拟分组淘汰赛

排队模拟

下面三道模拟题是针对排队模型处理的:

  • 1014 排队问题
  • 1017 排队问题
  • 1026 排队问题

排序模拟

这几道模拟题侧重在使用排序方法:

  • 1012 排序
  • 1016 排序,模拟电话账单计算
  • 1025 排序
  • 1028 排序
  • 1029 归并排序
  • 1038 递归,排序

时间优化

这几道题需要做好时间优化才能 ac。

  • 1044 搜索,时间优化
  • 1039 倒排索引,hash,时间优化
  • 1047 倒排索引,hash,时间优化
  • 1055 排序,时间优化

素数判定

  • 1015 素数
  • 1059 素数

  • 1003 最短路径
  • 1018 最短路径
  • 1030 最短路径
  • 1034 dfs

搜索

  • 1010 二分搜索,优化剪枝
  • 1013 并查集/dfs
  • 1021 并查集,dfs,图的直径
  • 1054 dfs,优化剪枝

  • 1004 dfs,树遍历
  • 1020 二叉树遍历
  • 1043 二叉树遍历

Hash

  • 1041 hash
  • 1042 hash
  • 1048 hash

分治

  • 1007 最大子连续序列

贪心

  • 1033 贪心

动态规划

  • 1045 DP,最长递增子序列

树状数组

树状数组是一种神奇的数据结构,在 1057 题中其神奇的效果得到了很好的体现。

  • 1057 树状数组,模拟栈,二分搜索

题解

截止 2013-08-03,PAT advanced level 的 60 道题全部题解和代码已经发布在本博客中,链接如下:欢迎讨论大家;)

附博客的 PAT 专题区链接:请戳

 原文地址:http://biaobiaoqi.github.com/blog/2013/08/03/overcome-pat/
 版权声明:自由转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0

PAT练习题概览的更多相关文章

  1. 转:PAT练习题概览

    AT(pat.zju.edu.cn)是一个面向 C/C++程序的 Online Judge 系统.相比 ZOJ,HDOJ,POJ 等 ACM 题库,PAT 的题目非常基础,对于数据结构.算法的入门是比 ...

  2. PAT练习题目录

    点题号就能查看题解了,另外代码也放在了开源中国码云上: 甲级:代码集合:https://git.oschina.net/firstmiki/PAT-Advanced-Level-Practise 10 ...

  3. PAT天梯赛练习题 L3-002. 堆栈(线段树查询第K大值或主席树)

    L3-002. 堆栈 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 大家都知道“堆栈”是一种“先进后出”的线性结构,基本操作有 ...

  4. PAT天梯赛练习题 L3-010. 是否完全二叉搜索树(完全二叉树的判断)

    L3-010. 是否完全二叉搜索树 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 将一系列给定数字顺序插入一个初始为空的二叉搜 ...

  5. PAT天梯赛练习题 L3-011. 直捣黄龙(多关键字SPFA+DFS)

    L3-011. 直捣黄龙 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 本题是一部战争大片 —— 你需要从己方大本营出发,一路 ...

  6. PAT天梯赛练习题 L2-013 红色警报(并查集+逆序加边)

    L2-013. 红色警报 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 战争中保持各个城市间的连通性非常重要.本题要求你编写一 ...

  7. PAT乙级(Basic Level)练习题-NowCoder数列总结

    题目描述 NowCoder最近在研究一个数列: F(0) = 7 F(1) = 11 F(n) = F(n-1) + F(n-2) (n≥2) 他称之为NowCoder数列.请你帮忙确认一下数列中第n ...

  8. 牛客网 PAT乙级(Basic Level)练习题 1023 考新郎

    题目描述 过年期间,老家举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做“考新郎”,具体的操作是这样的: 1. 首先,给每位新娘打扮得几乎一模一样,并盖上大大 ...

  9. PAT甲级练习题1001、1002

    1001 A+B Format (20 分)   Calculate a+b and output the sum in standard format -- that is, the digits ...

随机推荐

  1. C语言中 / 得到的结果

  2. VS无法访问IIS元数据库 您没有足够的特权访问计算机上的IIS网站

    进入windows\regedit.exe下的HKEY_CRRENT_USER\Software\Microsoft\Windows\CurrentVersion\Exploer\User Shell ...

  3. 再谈ITFriend网站的定位

    在网站开发阶段.内部测试阶段.公开测试阶段,让诸多好友和网友,参与了我们的网站ITFriend的体验和测试.其中,大家非常关心,我们的网站是干什么的.在我们不做任何解释的情况下,有的网站认为ITFri ...

  4. [TypeScript] The Basics of Generics in TypeScript

    It can be painful to write the same function repeatedly with different types. Typescript generics al ...

  5. swift开发网络篇 - post 请求

    /** 所有网络请求,统一使用异步请求! 在今后的开发中,如果使用简单的get/head请求,可以用NSURLConnction异步方法 GET查/POST增/PUT改/DELETE删/HEAD GE ...

  6. UILabel调整字间距

    1.引入 在文件导入 #import <CoreText/CoreText.h> 2.程序 NSMutableAttributedString *attributedString =[[N ...

  7. 建立简单的服务器端程序 分类: B1_JAVA 2013-10-08 21:53 503人阅读 评论(0) 收藏

      参考自core java     package com.lujinhong.corejava; import java.io.IOException; import java.io.InputS ...

  8. 在linux,windows上安装ruby on rails开发环境

    ruby是一个非常优秀的语言,ruby的精髓rails可以让web开发的效率成倍的提高,下面就介绍一下我搭建rails环境的过程.windows下搭建ruby rails web开发环境本篇文章主要是 ...

  9. git入门基础

    git基础 参考: 官网git基础 git 文件的生命周期 文件的生命周期图: git中的文件可以分为4个阶段. Untracked : 这是目录中没有被跟踪的文件,即不在git项目中,使用 git ...

  10. js获取滚动条的宽度

    function getScrollWidth() { var noScroll, scroll, oDiv = document.createElement("DIV"); oD ...