- 博客(18)
- 资源 (27)
- 收藏
- 关注
原创 PAT-A-1079 Total Sales of Supply Chain (25 分) BFS广度优先搜索 C++题解
1079 Total Sales of Supply Chain (25 分)题目传送门:1079 Total Sales of Supply Chain (25 分)一、题目大意商品销售链上有供应商、经销商、零售商,供应商以原价P将商品卖给经销商或者零售商,而经销商将会价格提高r%再卖给下一级的经销商或者零售商。零售商从上一级买到商品后,也会将价格提高r%,然后直接卖给用户。题目保证每一级...
2019-08-30 07:10:38 911
原创 PAT-A-1078 Hashing (25 分) 哈希表二次探测再散列 C++题解
1078 Hashing (25 分)题目传送门:1078 Hashing (25 分)一、题目大意将给定长度为n的数组放到长度为M的哈希表中,如果M不是素数,则将M往后扩大到M后面的第一个素数。在哈希时如果冲突,则二次探测再散列。刚开始没注意这一句:Quadratic probing (with positive increments only) is used to solve the...
2019-08-29 21:55:26 1272
原创 PAT-A-1071 Speech Patterns (25 分) 字符串处理,transform、istringstream的使用 C++题解
1071 Speech Patterns (25 分)题目传送门:1071 Speech Patterns (25 分)一、题目大意词频统计。在忽略大小写的情况下,统计出频率最高的单词,并输出次数。对单词的定义是由大小写字母和数字组成,单词的首尾不能是字母和数字(要不然子串也能算单词了)二、解题思路这个题目的难点在于有很多非空格的杂乱字符存在,如,:"'.这些符号,如果没有这些字符只有单...
2019-08-27 10:59:19 760
原创 PAT-A-1069 The Black Hole of Numbers (20 分) 模拟 数字转化成6147
1069 The Black Hole of Numbers (20 分)题目传送门:1069 The Black Hole of Numbers (20 分)一、题目大意给定数字n,n的范围是(0, 10000), 将n的各个位进行排序后,降序减升序获得一个新的数字,拿新的数字进行同样的操作,循环往复,最后得到6147.输出操作过程。例如6767:输出:7766 - 6677 = 1...
2019-08-27 07:21:03 794
原创 PAT-A-1068 Find More Coins (30 分)动态规划(背包)C++题解
1068 Find More Coins (30 分)题目传送门:1068 Find More Coins (30 分)一、题目大意给定n个硬币,求组成m的硬币的最小字典序组合二、解题思路背包问题。刚开始没想到什么好的思路,参考了这篇博客:1068 Find More Coins (30 分)背包问题三、AC代码#include<bits/stdc++.h>using ...
2019-08-27 06:37:39 906
原创 PAT-A-1066 Root of AVL Tree (25 分) 创建平衡二叉查找树 C++题解
1066 Root of AVL Tree (25 分)题目传送门:1066 Root of AVL Tree (25 分)一、题目大意给定一个数列,创建平衡二叉查找树二、解题思路这道题就是一个赤裸裸的构建平衡树的问题,然而我之前一直没有写过平衡树的代码,因为对平衡树的旋转不太理解。这次我不想绕过这个知识盲点了,在网上搜了博客学习平衡树的知识。平衡树(AVL)的旋转操作参考了这篇博客:...
2019-08-26 12:40:30 805
原创 PAT-A-1064 Complete Binary Search Tree (30 分) 完全二叉查找树+排序后中序遍历构建完全二叉树
1064 Complete Binary Search Tree (30 分)题目传送门:1064 Complete Binary Search Tree (30 分)一、题目大意给定一个长度为n的序列,构成一个完全二叉查找树,横向遍历输出二、解题思路拿着样例将完全二叉查找树画出来就会发现,这个树从树顶拿一个手电筒照下来,节点映射到水平面的顺序就是有序的 ,其实就是将给定序列排好序的中序...
2019-08-25 21:03:44 875
原创 PAT-A-1057 Stack (30 分) 树状数组+二分 (C++题解)
1057 Stack (30 分)题目传送门:1057 Stack (30 分)一、题目大意模拟栈的操作,增加找栈中中位数的功能二、解题思路第一次写树状数组知识点的题,之前一直不懂树状数组,感觉不好理解那个后缀数组,今天看到一篇很好的文章终于搞懂了树状数组,感谢这位大佬的博客:树状数组简单易懂的详解通过树状数组维护数组,快速得到前缀和,然后就通过常规的二分,来快速找到中位数。三、A...
2019-08-24 18:42:05 822
原创 PAT-A-1049 Counting Ones (30 分) 数位DP C++题解
1049 Counting Ones (30 分)题目传送门:1049 Counting Ones (30 分)一看到这道题就知道考的是数位DP,倔强的我不想找模板~~,自己写才有成就感。昨晚临睡觉前开始写的,今天早起继续写,居然一交就AC了,呵呵,开心
2019-08-23 07:28:26 922
原创 PAT-A-1045 Favorite Color Stripe (30 分) 动态规划--最长非降子序列 C++题解
1045 Favorite Color Stripe (30 分)题目传送门:1045 Favorite Color Stripe (30 分)一、题目大意给定数组1、数组2,求数组2的最长的符合数组1中元素顺序的子序列。For example, given a stripe of colors {2 2 4 1 5 5 6 3 1 1 5 6}. If Eva’s favorite c...
2019-08-21 23:31:27 917
原创 PAT-A-1044 Shopping in Mars (25 分)滑动窗口、队列的使用 C++题解
1044 Shopping in Mars (25 分)题目传送门:1044 Shopping in Mars (25 分)一、题目大意求长度为n的数组中,和为m的所有子数组,输出所有子数组的左右下标。如果没有和为m的子数组,则输出最小的和超过m的子数组。二、解题思路通过队列保存滑动窗口,并且通过一个变量sum同步保存当前滑动窗口里子数组的和。循环判断当窗口里的子数组和大于等于m时,则...
2019-08-21 16:45:02 834
原创 PAT-A-1043 Is It a Binary Search Tree (25 分)递归判断二叉查找树 C++题解
1043 Is It a Binary Search Tree (25 分)题目传送门:1043 Is It a Binary Search Tree (25 分)一、题目大意判断给定的序列是否可以构成一个二叉查找树或镜像二叉查找树。二、解题思路递归判断指定的区间序列是否是二叉查找树的先序。区间[left, right]中,left是先序二叉树的根,设p为左子树的右端点,q为右子树的右...
2019-08-21 14:48:40 777
原创 PAT-A-1040 Longest Symmetric String (25 分) 动态规划求最长对称字串 C++题解
1040 Longest Symmetric String (25 分)题目传送门:1040 Longest Symmetric String (25 分)一、题目大意求字符串的最大对称子串的长度二、解题思路这道题可以用动态规划来处理,转移方程为:dp[i]=dp[i−1]+2,当s[i]==s[i−1]dp[i] = dp[i-1] + 2, 当s[i] == s[i-1]dp[...
2019-08-20 14:50:33 816
原创 PAT-A-1038 Recover the Smallest Number (30 分) 排序规则:a+b<b+a
1038 Recover the Smallest Number (30 分)题目传送门:1038 Recover the Smallest Number (30 分)一、题目大意求n个数字能拼接成的最小整数Sample Input:5 32 321 3214 0229 87Sample Output:22932132143287赠送样例1:Input:2 123 12Out...
2019-08-19 23:26:34 768
原创 PAT-A-1033 To Fill or Not to Fill (25 分)贪心算法 C++题解
1033 To Fill or Not to Fill (25 分)题目传送门:1033 To Fill or Not to Fill (25 分)一、题目大意求从杭州站到目的站的最小油费。杭州站与目的站之间有很多个加油站,每个加油站的油价不同。如果无法到达输出最大行驶距离,否则输出到达目的站的最小油费。二、解题思路这道题很明显是贪心算法,但是具体怎么求下一站点,还挺复杂的。注意:题...
2019-08-18 20:46:41 884
原创 PAT-A-1030 Travel Plan (30 分)双重指标(最短路径、最小花费)的Dijkstra算法(使用优先级队列)+打印路径(C++题解)
1030 Travel Plan (30 分)题目传送门:1030 Travel Plan (30 分)一、题目大意给定城市之间的距离和费用,求出发点和终点之间最短路径,如果最短路径有多条,则求最短路径中的最小花费,并且打印路径。Sample Input:4 5 0 30 1 1 201 3 2 300 3 4 100 2 2 202 3 1 20Sample Outpu...
2019-08-15 00:54:15 766
原创 PAT-A 1020 Tree Traversals (25 分) 二叉树后中序遍历转按层遍历(C++题解)
1020 Tree Traversals (25 分)题目传送门:1020 Tree Traversals (25 分)一、题目大意给出二叉树的后序遍历和中序遍历,求二叉树的按层遍历。二、解题思路要想知道按层遍历的结果,只需要在遍历二叉树的过程中将每个节点的值存到数组对应下标里就行了。通常我们对二叉树的标号都是根节点的下标为1。如果当前点的下标是i,则其左孩子的下标是2∗i2*i2∗i...
2019-08-12 14:28:02 885
原创 PAT-A-1017 Queueing at Bank (25 分) 优先级队列模拟 C++题解
1017 Queueing at Bank (25 分)题目传送门:1017 Queueing at Bank (25 分)一、题目大意n个人,k个窗口,求平均每个人等待的时间。超过17:00到达的人不会被服务,也就是不算入平均时间。8:00开门,来早的人要等到8:00才会得到服务。二、解题思路定义一个结构体存储每个人来到银行的时间、开始被服务的时间、结束被服务的时间。定义一个优先级队列...
2019-08-04 09:56:08 820
QQ_Oauth.zip
2019-07-14
USACO(Train)解题报告.doc
2019-07-04
音乐播放器,含有音乐列表显示当前播放歌曲,以及详细页面可以暂停、播放、切换歌曲
2019-04-12
Android音乐播放器项目(含Widget小挂件、Notification通知栏)
2019-04-03
email.class.php
2018-08-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人