1001 A+B Format
数计算,修改字符串,没什么好说的
emm,自己当年还是用JAVA写的,想想也是3年前了吧,唉,恍惚三年
1002 A+B for Polynomials
多项式存储,遍历即可
1003 Emergency
最短路径,同时有一些其它的权重,不过这里的people num局部最优就是全局最优,所以不用保存多条路径,还是比较常规的,标准的Dijkstra算法。
1004 Counting Leaves
数叶子节点,树的表示和遍历,BFS,DFS之类的
需要遍历的时候记录层数
1005 Spell It Right
数字每位处理,字符串映射,没什么特别的地方
(前边的题好简单啊发现)
1006 Sign In and Sign Out
时间格式的处理,找最大值最小值
1007 Maximum Subsequence Sum
很经典的一道题,计算最大子序列的和
可以用DP做,dp[i] = max(num[i], dp[i - 1] + num[i])
其实不用dp数组也没有问题,从左到右,如果加上之后比原来的大,就加上,否则继续看,需要累加变负的之后,置零,这本质上和DP是一样的,只不过更加trick罢了
1008 Elevator
模拟过程,挨个按照条件模拟就好了,没什么
1009 Product of Polynomials
字符串处理
1010 Radix
进制转换
这里要注意的是,需要使用二分查找,不然会超时
1011 World Cup Betting
阅读理解题
1012 The Best Rank
花式排序题
注意,有greater<int>()
,省去了写lambda的麻烦
1013 Battle Over Cities
连通分量,DFS即可
注意计算的时候,需要记录visited,防止循环
cin
超时我也是醉了。。。
1014 Waiting in Line
排队模拟题,最讨厌的题了,很烦很烦!
排队一般用queue,有优先级的注意可以使用priority_queue
。
对问题的抽象在解决这类问题中很关键,不过自己的抽象能力并不强。
1015 Reversible Primes
进制转换,数的处理
判断素数(判断素数需要闭着眼睛写出来,还有GCD这些)
1016 Phone Bills
花式排序整理题,只不过这道题有点烦罢了,遇到这种题不要怕,通常都是阅读理解+时间处理之类的,题目理解对了就不会有什么坑了
这里算时间的时候,需要注意,可以用统一基准,这样方便比较和相互之间的运算
1017 Queueing at Bank
排队题,烦
priority_queue真好用
1018 Public Bike Management
最短路径问题,不过这里不能直接得出最优的一条路径,而是要得到所有最短路径,然后DFS找到最优的
注意理解题意吖!!!
1019 General Palindromic Number
进制转换,没什么
1020 Tree Traversals
后中建树,需要熟练使用
1021 Deepest Root
这道题用到了知识性的东西,一开始自己并不知道。
最深的路径,从任意一个点遍历,找到最深的节点,然后从这些节点中任意一个开始遍历,找到最深的节点集合就是了
1022 Digital Library
花式IO、排序、查询题
没想到暴力就能解决,本来还担心超时
1023 Have Fun with Numbers
数的处理,遇到这种题真的开心的要死!
1024 Palindromic Number
数处理,字符串处理,这种题,最好循规蹈矩的来,相对还是比较简单的
1025 PAT Ranking
花式排序题,阅读理解题,不说了,注意看清题意
1026 Table Tennis
唯一一道,没有自己做的题目!!!
花式排队题!!!真的是很烦!
还是自己对问题的抽象能力不够,不过不想看它了,这应该是模拟排序题里的极品了吧,碰到像这样的我认栽。
1027 Colors in Mars
数字转换,开心hhh,基本也没有什么坑
1028 List Sorting
花式排序题,没什么,这个很常规,就是写个lambda就好了。
1029 Median
毕竟LeetCode上hard级别的题目
自己做的时候确实没有做出来
很经典很经典!!!
根据中位数的定义,是中间的那个数
由于有内存限制,所以只能存1个,另一个需要在线处理,也就是边读,边判断是不是合适,如果arr1里的大,选arr1里的,对应cnt1++,如果此数大,选此数,对应cnt2++。
实现起来也是很精妙的!!!
1030 Travel Plan
标准的Dijkstra,不说了,做了这么多,也背过了,包括处理cost,记录路径等等。
1031 Hello World for U
数数,字符串处理,格式输出,没什么,送分题吧,注意特殊条件的考虑,哪怕列举呢,反正没多少
1032 Sharing
链表格式需要注意一下,剩下的就很常规了
1033 To Fill or Not to Fill
还是比较有技巧的一道题,贪心地一段一段往上加
虽然很暴力,但是也可以AC,聪明点的做法是从起点开始,找可以到达范围内的加油站,遇到比自己低的,就用低的走接下来的路,直到走不下去或者结束
1034 Head of a Gang
DFS,连通分量
不过这道题还是挺烦的吧,需要求最大的节点,遍历的过程中求就是了,只是有点烦,不至于不知道如何下手
1035 Password
字符串处理,送分题
1036 Boys vs Girls
花式排序,花式格式题
注意特殊情况的考虑就好
1037 Magic Coupon
唉,就,小trick而已,问题转换,求乘积最大值
1038 Recover the Smallest Number
很经典的一道题
自己刚开始想的很多,不过,后来发现,用贪心的策略就可以解决了,局部最优就是全局最优!排序就对了!
1039 Course List for Student
map的使用,计数,注意可能出现的超时问题
这里有个技巧,如果名字是string不好处理的话,可以考虑hash到对应的整数
1040 Longest Symmetric String
没想到,分奇数长度和偶数长度暴力判断就可以AC哈哈
1041 Be Unique
set或者map的使用,没有什么好说的,遇到这种题估计会开心的要死
1042 Shuffling Machine
字符串转换
这个题需要厘清,到底是从什么转换到什么,很容易搞混
1043 Is It a Binary Search Tree
前序转后序,一开始的时候不熟练,后来遇到的时候也就知道了,递归的进行左子树和右子树
BST性质不担心,按照这样的规则,不符合BST自然不会被加入到tree中
1044 Shopping in Mars
哈哈,碰到“Mars”就要小开心了,多半有时字符串处理啊,进制转换类的题目,至少不会很难。
没想到,这个竟然不是!!!
两个指针,左右,扫一遍就可以了。
1045 Favorite Color Stripe
非常经典的一道题!!!
考虑输入的时候就筛掉不符合要求的数据。
DP之中的经典,当前最长,是对之前所有的j, max(len[i], len[j] + 1)
DP还是难想啊!!!
1046 Shortest Distance
两指针问题
先正遍历一遍求与左边距离,再逆遍历一遍求与右边距离,两者的距离就是中间那段或者距左右两端的和
1047 Student List for Course
跟前边一道题正好相反,也是map的使用,不过,不知道为什么,map会超时,直接开个大数组来的直接红红火火恍恍惚惚
1048 Find Coins
超经典问题,2SUM
左右指针,往中间靠就好,总会找到的
相关的升级版3Sum也是超级经典的问题
1049 Counting Ones
可以说是很经典了,但同时也可以说是很无聊了
这种题感觉背过就可以了,也不会变出什么花样,思想是非常好的,需要好好借鉴
数每一位出现1的次数
1050 String Subtraction
set使用,这里需要记住删除字符串中的字符的使用方式
1051 Pop Sequence
按照题目的要求模拟就好了
我当时做的时候真的是想多了,想的进展序列是前序,出栈序列是中序,还写了个check前中hhh
1052 Linked List Sorting
hhh,直接无视list,排序就好,反正根据排序序列就知道下一个是啥
不过要注意的是,还是要先根据list把在list中的数据放到新数组中,输入中可能有无效数据
1053 Path of Equal Weight
树的遍历,DFS,计算weight,比较常规
1054 The Dominant Color
数数就好了,遇到这种题,肯定开心的要死
1055 The World’s Richest
花式排序题,本来还担心超时,但后来发现,其实还好
1056 Mice and Rice
模拟题,这道题还是很烦的,需要使用到queue来模拟一层一层的操作,不过也没有什么好注意的,认真读题,想最恰当的方式模拟就好了。
1057 Stack
这道题还是值得关注的!
有多种解法吧。
自己采用的是两个set平分栈中的元素,其实有些trick吧,就是利用了set的有序性,这样取中间数,只需要找set1的尾元素或set2的头元素即可。
由于可能有相同的元素,需要用到multiset。
1058 A+B in Hogwarts
进制转换 送分题
1059 Prime Factors
素数,分解因式,没什么
1060 Are They Equal
字符串浮点数处理,贼烦,注意考虑的点很多,比如leading zero,小数点,有效位数等等,耐心的一种情况一种情况考虑,题目本身没什么难度
1061 Dating
阅读理解题,不予评述
1062 Talent and Virtue
花式分类排序题,理解清题意,大致就没有问题了
1063 Set Similarity
set的使用,还好,挨个check就好,不会超时
1064 Complete Binary Search Tree
还是值得注意的一道题,用到了完全二叉树的性质
中序为从大到小的序列,可以递归的进行
层次遍历,就是数组的顺序,所以没什么,只要根据中序把对应的值放对就可以了
1065 A+B and C (64bit)
溢出的判断,仔细考虑溢出的情况
1066 Root of AVL Tree
AVL操作,应该已经可以背过了,闭着眼睛要能写出来
1067 Sort with Swap(0, i)
分两种情况,分开模拟就是了
1068 Find More Coins
经典!经典!经典!
背包问题,DP解决
这道题需要自己再次回味!!!
1069 The Black Hole of Numbers
模拟运算,没什么好说的
1070 Mooncake
理解清题意哇!!!
仔细注意题中的条件,不能只看输入输出!!!
1071 Speech Patterns
map操作,字符串处理,计数
按照题意来就好了,没什么
1072 Gas Station
比较有趣的一道题
标准的Dijkstra,再加上特定条件的判断,还好
1073 Scientific Notation
字符串处理,需要注意,负号,小数点,0等特殊情况
1074 Reversing Linked List
链表处理,还好,就是有点烦,不过对于头尾特殊情况处理好,想清楚就没什么了
1075 PAT Judge
花式排序题,不做评价
1076 Forwards on Weibo
BFS
对于marker的使用需要注意,应该是,遇到marker出队列,而队列仍然不为空的时候放入新的marker
1077 Kuchiguse
字符串处理,共同后缀,遍历判断就好了,也没什么
1078 Hashing
没什么吧,hash的概念,注意加增量是在原来的hash值上加,不是累加
1079 Total Sales of Supply Chain
树DFS遍历求最值,没啥
1080 Graduate Admission
花式排序题,不做评述
1081 Rational Sum
唉,这类题也挺烦的
首先求gcd必须闭着眼睛也能写得出来
其次,按个数输出要考虑到,比如,有整数没分数,有分数没整数,为零的情况等等!!
1082 Read Number in Chinese
按照汉语的4位一个单位进行就可以了,每四位是一致的~
这种题估计不会考第二次了吧,可能考一个反的??那应该会更简单吧
还是要注意,0的情况,直接输出0
1083 List Grades
花式排序判断题,没有什么
1084 Broken Keyboard
直接查找都可以,用set可能会更快些,送分题
1085 Perfect Sequence
这道题还是有点意思的
因为线性搜索会超时,需要用到二分查找,注意二分查找符合条件的下标,最后是取low还是high
1086 Tree Traversals Again
标准的栈操作和树遍历的结合,也就是前中转后,固定写法一定要熟练的写出
1087 All Roads Lead to Rome
Dijkstra+一堆奇奇怪怪的优先级
比较烦,而且输入是字符,还需要转换一下
注意如果遇到特定条件之后,更新对应的值,比如路径的数组啦,最大值啦,最小值啦,该清空,还是该加入等
1088 Rational Arithmetic
这道题是一道极烦的字符串数字运算题目,需要考虑的很多,没有办法,如果考试遇到这个我认栽
没有什么特别要注意的,注意考虑除数为0的情况,以及,能化简先化简,否则有可能中间运算溢出
1089 Insert or Merge
唉,这道题,本来没有那么麻烦,只不过自己遇到的bug特别难发现罢了。
注意考虑数相等的情况!!!!
1090 Highest Price in Supply Chain
树的表示与DFS,还是比较常规的
1091 Acute Stroke
DFS题目,用BFS超内存了,不知道为什么,看来还是DFS比较靠谱
1092 To Buy or Not to Buy
没什么,遍历计数即可
1093 Count PAT’s
挨个计数就可以了,需要想一下,不过还算好想
1094 The Largest Generation
树最大深度,DFS、BFS均可,想想当年还青涩,BFS还用两个queue,来回倒hhh
1095 Cars on Campus
花式排序题,就是有点烦,其它还好
1096 Consecutive Factors
没什么,遍历,符合的话,就继续找就是了,应该有更巧的方法,不过AC了,也就没有管了
1097 Deduplication on a Linked List
本身的处理很常规,但是找bug花了很长时间
唉,bug也很无语,是自己一个没注意,没有办法,智能自己注意咯
1098 Insertion or Heap Sort
这俩排序特征还是比较好找的
边界条件注意,< 和 <= 经常自己被坑在等号上
1099 Build A Binary Search Tree
按照给定的结构建树,然后,中序遍历一遍,得到节点的指针,再按顺序赋值就OK啦
中序遍历什么的,用递归方式就好啦,省的自己用栈操作有问题
1100 Mars Numbers
字符串处理转换,没什么,string操作有点烦,需要考虑空格
1101 Quick Sort
左右扫两遍,还是很经典的一道题,不过知道了之后,就觉得还好啦
当时遇到了一个格式错误的测试点,后来多输出一个空行就好了,唉,算了,这OJ
1102 Invert a Binary Tree
树的遍历,真的是非常常规的题目了
1103 Integer Factorization
这道题坑了自己很久,死活有个点过不去
后来发现,是自己在维护maxSum的时候,没有更新
唉,只有一个点过不去,以为是边界条件,没想到是这样的bug,防不胜防啊,只能自己细心点喽
1104 Sum of Number Segments
数学题,找规律也可以,不是很难找
1105 Spiral Matrix
维护方向,模拟向前走就可以了
1106 Lowest Price in Supply Chain
也是树的遍历,就不多说什么了,这一系列的题都还好
1107 Social Clusters
并查集的经典考法,唉,PAT之前都没有考过并查集,从这道题开始,考了有两三道
因为要输出最后的结果,所以用set存了,注意set的合并操作
1108 Finding Average
字符串处理题,唉,就是有点烦,其它还好
1109 Group Photo
按照题目中给的要求划分求解就好,注意要细心,不然找bug需要很久!!
1110 Complete Binary Tree
BFS判断即可,没有什么
1111 Online Map
两遍Dijkstra即可,没有什么特别的地方,除了打字多一点之外
1112 Stucked Keyboard
字符串处理
有一些情况还是很难分清楚的,注意处理每一步都自习一点
1113 Integer Set Partition
emm,排序一遍就好,反正就两种情况,送分题
1114 Family Property
又是一道并查集,跟之前的那个基本一样,根节点维护相关的信息即可,union的时候也更新信息
1115 Counting Nodes in a BST
BFS即可,比较简单
1116 Come on! Let’s C
花式排序判断题
1117 Eddington Number
计数,最大值,没有什么特别的地方
1118 Birds in Forest
又是一道并查集 不过这个比较简单,不需要维护什么,只需要检测是不是一个根就可以了
1119 Pre- and Post-order Traversals
前后转中,同时判断是不是unique
还是蛮经典的一道题,主语判断非唯一的条件,就是没有右子树,想放到左边或右边都可以
1120 Friend Numbers
数字处理,送分题,开心
1121 Damn Single
map,集合使用,没有什么特别的地方
1122 Hamiltonian Cycle
图,判断,没有什么特别
1123 Is It a Complete AVL Tree
AVL tree的操作
判断完全二叉树
就是写的有点多,其实还好
1124 Raffle for Weibo Followers
花式计数题
1125 Chain the Ropes
贪心,priority_queue真好用
1126 Eulerian Path
数度数就好了
注意还要判断是不是联通图,如果不是,那自然没有欧拉路径了
1127 ZigZagging on a Tree
中后建树
BFS
都比较常规,需要熟练掌握
1128 N Queens Puzzle
数学题吧,反正,很水就是了
1129 Recommendation System
每次更新信息,重新sort,可以说是相当暴力了,不过没超时,那就可以了,OJ,本来就是面向AC得嘛
1130 Infix Expression
树的中序遍历,没啥
注意单个值的考虑
1131 Subway Map
相当之烦的一道关于图的题,可以说是这类题中的极品了,坑也肯多,调bug调了好久
需要注意的是,不能随便选择一条最短的,还要找换乘少的,换乘也是可以从不同路线中选的,所以,唉,坑啊
1132 Cut Integer
字符串数字处理,没啥
1133 Splitting A Linked List
链表处理
本来没啥,可是自己写的时候遇到了bug,后来发现是自己智障了,为null的判断需要时判断是否为-1而不是0
1134 Vertex Cover
需要注意,不是所有的图都用邻接矩阵存,用二维数组,存相邻节点也就OK了
1135 Is It A Red-Black Tree
树,遍历判断,没啥
1136 A Delayed Palindrome
字符串、数字处理,这些基本上都不会有什么大坑
1137 Final Grading
花式排序题,不想说些什么了
1138 Postorder Traversal
前中转后,还更省事,只用输出第一个元素,开心
1139 First Contact
图的题目,阅读理解题,还是比较常规的
注意考虑自身情况,唉,可能还是理解题意的问题
1140 Look-and-say Sequence
阅读理解题,唉,只有好好读题了
1141 PAT Ranking of Institutions
花式排序统计题,没啥的
1142 Maximal Clique
这道题,还是有些意思的!!
求强连通分量!
合并集合太浪费时间了,还是循环比较来的比较直接,应该有更好的算法,需要学习一个
1143 Lowest Common Ancestor
先要根据前序建树,烦
然后要查找,烦
然后要判断LCA,烦
就是烦,其它的都还好
唉,其实有更直接的解法,不过自己没想到,就老老实实一步一步做喽,反正也是很机械的事
1144 The Missing Number
数数,没啥
1145 Hashing - Average Search Time
这道题还是挺烦的,考到了hash的一些概念
虽然试也能试出结果
平方探测,增量是从 0^2 到 size^2 size+1次
1146 Topological Order
暴力的,visit之后,就把相关的所有边去掉,竟然AC了hhh
其实,只要记录入度就可以了,没必要记录整个信息
1147 Heaps
DFS或BFS判断就是了,没啥
然后后序遍历也没啥