![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT之路
文章平均质量分 73
Civilism
数据为王
展开
-
PAT 1003 Emergency 最短路径dijkstra与DFS算法
PAT 1003 emergency 学习djstra算法 伪代码: 设d[0]=0, 其他d[i]=INF 循环n次{ 在所有为标号结点中选出d值最小结点x 给结点x标记 对于x出发的所有边(x,y), 更新d[y]=min{d[y], d[x]+w(x,y)} } 总结: 循环内主要分为两部分 找出当前结点的最短的路径 根据找出的最短路径的结点, 来更新dist表: 若该结点相邻的...原创 2018-09-18 19:03:59 · 360 阅读 · 0 评论 -
总结 第一次pat甲级考试[18 冬季]
考前准备 考试两个月之前间断刷过15道题, 每道题平均都会花一天的时间才能ac掉, 当时就想的为pat准备, 但是计划赶不上变化, 因为其他的原因放下了pat甲级题的跟进, 不过就那些时间也收获颇多. 题目 这次的题目相对于甲级题库的题来说还是相对简单的, 每道题大概得花了3分钟看题, 半分钟出现大概思路, 10分钟之内会出现具体的数据结构与算法, 其他时间都用来实现和改bug了. 大概说下记忆中...原创 2018-12-09 19:00:21 · 2149 阅读 · 2 评论 -
1014 waiting in line 思路?
PAT 1014 Waiting in line 我是过不了了, 可能思路某个地方有问题, 仅此记录, 有时间再看 题目大意: 刚开始所有人在一条黄线外. 等待银行开业, 共有 k 个人,每个人的业务需要窗口处理ki分钟, 黄线内可以容纳 m个人, 共有 n个窗口; 即: n个队列, 每个队列容量为m, 共有k个人等待进入队列, 进入队列后, 每个人出队时需要ki min; 银行在8:00 ...原创 2018-10-22 11:31:14 · 224 阅读 · 0 评论 -
PAT 乙级 1045-快速排序
for(j = 0,i = n-1; i >= 0; i--){ if(d[i] < min[j]){ min[++j] = d[i]; } }原创 2018-09-30 18:27:05 · 153 阅读 · 0 评论 -
1007 Maximum Subsequence Sum 最大子串和
最大字串和 该题和上学期老师讲的一模一样, 唯一不同的地方是需要记录结果的开始与结束位置; 我竟然花了接近2个小时的时间写; 思路(递归) 记录结果的数据结构: 最大子段和 串最左元素 串最右元素 分成3段:中间, 左边, 右边 递归得到左右的最大子串和 计算中间的最大子串和: 先由中向右扩展到最大串, 并记录最右边位置; 再由中向左扩展到最大串, 直到边界, 记录最左边位置. 返回 左 中 ...原创 2018-09-27 19:12:55 · 107 阅读 · 0 评论 -
PAT 1010 Radix
坑贼多 结果 Radix 可能非常大, 我一开始以为最大就到35, 其实不然, 所以昨天只有 18分 时间复杂度, 当radix非常大时, 顺序遍历就会 超时了, 所以采用二分法查找 每次 试探 一个 radix 得出的值可能溢出 long long int 范围变成负数, 此时要判断, 舍去更大的radix 题目 1010 Radix (25 分) Given a pair of posi...原创 2018-10-03 16:25:17 · 151 阅读 · 0 评论 -
这 真 TM 是个奇怪的问题 PAT 1009 Product of polynomials 求救~~~~
求救在先!!! 思想 该题目很简单, 数据结构用 下标做指数, 值做系数来存储多项式, 就行了… 然而!! 我在最后统计系数非零的项数的时候, 出现了一个我无法理解的错误! 用visited[]作为判断该项数的系数是否为0, 如果为0 则visited[i]值为0, 否则为 1; 打印的时候, 判断 visited是否为1, 若为1 则打印…第三个测试点, 竟然错了??? 但是 我直接判断 d...原创 2018-10-02 20:47:46 · 216 阅读 · 0 评论 -
PAT 1004 Counting leaves 哈希数组与dfs
1004 第一次尝试: 用兄弟树来做: 记录孩子与兄弟, 发现没办法记录层数 第二次尝试 因为只需要知道孩子结点是否存在即可, flag = 0表示不是叶子结点, level是当前层数 用数组来做, 数据结构 typedef struct Node{ int flag; int level; }Node; 关键代码: 每读取一行, 判断该结点是否已经存在, 若存在, leve...原创 2018-09-20 21:26:46 · 111 阅读 · 0 评论 -
最短路径总结
最短路径 1. Floyd 思想: 尝试将每个点添加到两点间, 看距离是否变短, 变短则更新 输入: 图矩阵 输出: 每个点到每个点的最短距离 核心代码: for(k = 1; k &lt;= n; k++) for(j = 1; j &lt;= n; j++) for(i = 1; i &lt;= n; i++) if(e[i][j] &gt; e...原创 2018-12-22 22:56:55 · 332 阅读 · 0 评论