【转载】【PAT】PAT甲级题型分类整理
最短路径
1003. Emergency (25)-PAT甲级真题(Dijkstra算法)
1018. Public Bike Management (30)-PAT甲级真题(Dijkstra + DFS)
1030. Travel Plan (30)-PAT甲级真题(Dijkstra + DFS,输出路径,边权)
1087. All Roads Lead to Rome (30)-PAT甲级真题-Dijkstra + DFS
1111. Online Map (30)-PAT甲级真题(Dijkstra + DFS)
最短路径扩展问题
要求数最短路径有多少条
- count[s] = 1;
- 如果找到更短路:count[W]=count[V];
- 如果找到等长路:count[W]+=count[V];
要求边数最少的最短路
- count[s] = 0;
- 如果找到更短路:count[W]=count[V]+1;
- 如果找到等长路:count[W]=count[V]+1;
存在点权
比如救火问题,多条最短路径,选择点权最大的那条
for(int i = 0; i < n; i++) {
int u = -1, minn = inf;
for(int j = 0; j < n; j++) {
if(visit[j] == false && dis[j] < minn) {
u = j;
minn = dis[j];
}
}
if(u == -1) break;
visit[u] = true;
for(int v = 0; v < n; v++) {
if(visit[v] == false && e[u][v] != inf) {
if(dis[u] + e[u][v] < dis[v]) {
dis[v] = dis[u] + e[u][v];
num[v] = num[u];
w[v] = w[u] + weight[v];
} else if(dis[u] + e[u][v] == dis[v]) {
num[v] = num[v] + num[u];
if(w[u] + weight[v] > w[v])
w[v] = w[u] + weight[v];
}
}
}
}
边权不唯一
比如旅游规划问题,存在多条最短路径时,选择花费最少的
void Dijkstra( Vertex s ) {
while (1) {
V = 未收录顶点中dist最小者;
if ( 这样的V不存在)
break;
collected[V] = true;
for ( V 的每个邻接点W )
if ( collected[W] == false )
if ( dist[V]+E<V,W> < dist[W] ) {
dist[W] = dist[V] + E<V,W> ;
path[W] = V;
cost[W] = cost[V] + C<V,W> ;
} else if ( (dist[V]+E<V,W> == dist[W])
&& (cost[V]+C<V,W> < cost[W]) ) {
cost[W] = cost[V] + C<V,W> ;
path[W] = V;
}
}
}
树的遍历
1004. Counting Leaves (30)-PAT甲级真题(bfs,dfs,树的遍历,层序遍历)
1020. Tree Traversals (25)-PAT甲级真题
1053. Path of Equal Weight (30)-PAT甲级真题(树的遍历)
1079. Total Sales of Supply Chain (25)-PAT甲级真题(dfs,bfs,树的遍历)
1086. Tree Traversals Again (25)-PAT甲级真题
1090. Highest Price in Supply Chain (25)-PAT甲级真题
1094. The Largest Generation (25)-PAT甲级真题(bfs,dfs,树的遍历)
1102. Invert a Binary Tree (25)-PAT甲级真题
1106. Lowest Price in Supply Chain (25)-PAT甲级真题(dfs,bfs,树的遍历)
1115. Counting Nodes in a BST (30)-PAT甲级真题(二叉树的遍历,dfs)
1119. Pre- and Post-order Traversals (30)-PAT甲级真题(前序后序转中序)
图的遍历
1013. Battle Over Cities (25)-PAT甲级真题(图的遍历,统计强连通分量的个数,dfs)
1021. Deepest Root (25)-PAT甲级真题(图的遍历,dfs,连通分量的个数)
1034. Head of a Gang (30)-PAT甲级真题(图的遍历dfs)
1072. Gas Station (30)-PAT甲级真题(Dijkstra)
1076. Forwards on Weibo (30)-PAT甲级真题(图的遍历bfs)
深度优先搜索
1103. Integer Factorization (30)-PAT甲级真题(dfs深度优先)
广度优先搜索
1091. Acute Stroke (30)-PAT甲级真题(广度优先搜索)
哈希、散列
1048. Find Coins (25)-PAT甲级真题(Hash散列)
1050. String Subtraction (20)-PAT甲级真题(哈希)
1092. To Buy or Not to Buy (20)-PAT甲级真题
1084. Broken Keyboard (20)-PAT甲级试题
动态规划
1007. Maximum Subsequence Sum (25)-PAT甲级真题(动态规划dp)
1040. Longest Symmetric String (25)-PAT甲级真题(动态规划)
1045. Favorite Color Stripe (30)-PAT甲级真题
1068. Find More Coins (30)-PAT甲级真题(01背包)
排序
1012. The Best Rank (25)-PAT甲级真题
1016. Phone Bills (25)-PAT甲级真题
1025. PAT Ranking (25)-PAT甲级真题
1028. List Sorting (25)-PAT甲级真题
1055. The World’s Richest (25)-PAT甲级真题
1062. Talent and Virtue (25)-PAT甲级真题
1075. PAT Judge (25)-PAT甲级真题
1080. Graduate Admission (30)-PAT甲级真题
1083. List Grades (25)-PAT甲级真题
STL的使用
1022. Digital Library (30)-PAT甲级真题(map映射)
1039. Course List for Student (25)-PAT甲级真题
1047. Student List for Course (25)-PAT甲级真题
1054. The Dominant Color (20)-PAT甲级真题
1063. Set Similarity (25)-PAT甲级真题
1071. Speech Patterns (25)-PAT甲级真题(map应用)
1100. Mars Numbers (20)-PAT甲级真题
链表处理
1032. Sharing (25)-PAT甲级真题
1052. Linked List Sorting (25)-PAT甲级真题
1074. Reversing Linked List (25)-PAT甲级真题
1097. Deduplication on a Linked List (25)-PAT甲级真题
大整数
1023. Have Fun with Numbers (20)-PAT甲级真题(大整数运算)
1024. Palindromic Number (25)-PAT甲级真题(大整数相加)
二叉搜索树
1043. Is It a Binary Search Tree (25)-PAT甲级真题
Complete Binary Search Tree (30)-PAT甲级真题
1099. Build A Binary Search Tree (30)-PAT甲级真题
平衡二叉树
1066. Root of AVL Tree (25)-PAT甲级真题
堆排序
1098. Insertion or Heap Sort (25)-PAT甲级真题(堆排序)
贪心算法
1033. To Fill or Not to Fill (25)-PAT甲级真题(贪心算法)
1037. Magic Coupon (25)-PAT甲级真题(贪心算法)
1038. Recover the Smallest Number (30)-PAT甲级真题(贪心算法)
1067. Sort with Swap(0,*) (25)-PAT甲级真题(贪心算法)
1070. Mooncake (25)-PAT甲级真题
并查集
1107. Social Clusters (30)-PAT甲级真题(并查集)
1114. Family Property (25)-PAT甲级真题(并查集)
1118. Birds in Forest (25)-PAT甲级真题(并查集)
树状数组
1057. Stack (30)-PAT甲级真题(树状数组)
原文出处:
作者:柳婼
链接:https://www.liuchuo.net/archives/2502
以下内容作为补充
线性结构:数组,栈,队列看一下就过了;
链表自己实现了一遍;
常见排序理解并会写。
树:二叉搜索树熟练(尤其是各种遍历);AVL树和红黑树尽力理解了一下,我是真的记不住……
图:BFS, DFS, 最短路(dijkstra, spfa, floyd)。这里的题目最常见,要能写得很灵活。
其它:堆,背包问题(良心教程 https://github.com/tianyicui/pack/blob/master/V2.pdf),贪心问题, KMP(还没遇到过题目)。
【转载】【PAT】PAT甲级题型分类整理的更多相关文章
- PAT甲级题分类汇编——序言
今天开个坑,分类整理PAT甲级题目(https://pintia.cn/problem-sets/994805342720868352/problems/type/7)中1051~1100部分.语言是 ...
- PAT(甲级)2017年秋季考试
PAT(甲级)2017年秋季考试 D题红黑树待补21/30 大佬的代码,看着想哭,这才是艺术啊 A Cut Integer 模拟题 #include<bits/stdc++.h> usin ...
- PAT(甲级)2017年春季考试
PAT(甲级)2017年春季考试 A.Raffle for Weibo Followers #include<bits/stdc++.h> using namespace std; int ...
- (zhuan) 126 篇殿堂级深度学习论文分类整理 从入门到应用
126 篇殿堂级深度学习论文分类整理 从入门到应用 | 干货 雷锋网 作者: 三川 2017-03-02 18:40:00 查看源网址 阅读数:66 如果你有非常大的决心从事深度学习,又不想在这一行打 ...
- 按失真类型分类整理IQA数据集:TID2013
前面已经整理了TID2008,这次整理TID2013的工作相对较简单,只需要改代码的一部分就可以了,首先我大概介绍一些TID2013. TID2013是TID2008的加强版,链接如下:http:// ...
- Android Studio 分类整理 res/layout 中的布局文件
•准备工作 新建一个名为 TestLayouts 的项目: 进入 Project 模式: 来到 TestLayouts/app/src/main/res/layout 文件夹下: •分类整理 layo ...
- PAT甲级题分类汇编——杂项
本文为PAT甲级分类汇编系列文章. 集合.散列.数学.算法,这几类的题目都比较少,放到一起讲. 题号 标题 分数 大意 类型 1063 Set Similarity 25 集合相似度 集合 1067 ...
- PAT甲级题分类汇编——图
本文为PAT甲级分类汇编系列文章. 图,就是层序遍历和Dijkstra这一套,#include<queue> 是必须的. 题号 标题 分数 大意 时间 1072 Gas Station 3 ...
- PAT甲级题分类汇编——树
本文为PAT甲级分类汇编系列文章. AVL树好难!(其实还好啦~) 我本来想着今天应该做不完树了,没想到电脑里有一份讲义,PPT和源代码都有,就一遍复习一遍抄码了一遍,更没想到的是编译一遍通过,再没想 ...
随机推荐
- LNMP-Nginx反向代理
Nginx反向代理 Nginx提供反向代理的模块http proxy,这个模块是默认的,不需要重新编译模块.通常情况下,Nginx代理一般常用的环境是,提供web服务的服务器放在内网,暴露在外网上容易 ...
- 服务器端Mysql常用操作
原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/f7463513-5 ...
- javascript数据结构
学习数据结构非常重要.首要原因是数据结构和算法可以很高效的解决常见问题.作为前端,通过javascript学习数据结构和算法要比学习java和c版本容易的多. 在讲数据结构之前我们先了解一下ES6的一 ...
- JS---封装缓动(变速)动画函数---增加多个任意多个属性
封装缓动动画函数---增加多个任意多个属性 在原来缓动动画函数,增加任意一个属性的基础上,做了如下改变 1. 原来function animate(element, attr, target),三个变 ...
- bossplayersCTF 1: Vulnhub Walkthrough
主机扫描: http://10.10.202.130/ <!--WkRJNWVXRXliSFZhTW14MVkwaEtkbG96U214ak0wMTFZMGRvZDBOblBUMEsK--> ...
- Dynamics 365 Portal 修改注册页面及Profile页面
一,Profile页面 客户要求在Portal Profile页面上添加性别字段,通过查看源代码发现,中间的联系人信息部分是引用的CRM中Contact实体的Portal Web Form表单,直接把 ...
- Elon Mask 写作常见的三种错误
(其实非常的文不对题,这篇文章和写作的并没有多大的关系,如果是想看关于写作的技巧,可以直接离开,节省您的时间) 这是原文 写作就是在把你自身的想法用正确,合适的方式表达出来,但是不正确的表达可能会导致 ...
- 磁盘修复 mount: wrong fs type running e2fsck
当服务器或PC机器的硬盘在使用一段时间后,会出现无法使用正常进行使用: 1. 当将文件系统挂载到指定的目录的时候,会出现mount 失败,如下图: [root@template ~]# mount / ...
- C# -- 优先获取电脑C盘之外的磁盘来保存数据
C# -- 优先获取电脑C盘之外的磁盘来保存数据 1. 优先获取电脑C盘之外的磁盘来保存数据.没有其他盘则使用C盘. public string GetSaveDataDiskPath() { str ...
- go路由httprouter中的压缩字典树算法图解及c++实现
目录 go路由httprouter中的压缩字典树算法图解及c++实现 前言 httprouter简介 压缩字典树 概念 插入操作 查询操作 c+++实现 go路由httprouter中的压缩字典树算法 ...