PAT刷题日志 2020/1/5

2020/1/5
今天结束了所有手头的事情,想到报名了今年3月7日的PAT甲级考试,赶紧重新开始了刷题。
目前的状态大概是基本的算法,(除了树,图类以及相关算法不熟悉,其他基本上已经掌握了个大概),我计划按照算法笔记上机指南所提供的顺序,从前到后从浅到深。由于之前我大概已经刷了25个左右的题,就直接按照那个顺序继续刷了。主要是做的是模拟类的题目。

提交第一个题目:1042 Shuffling Machine (20分)
简述:这个题感觉并不是很难,关键是要理解题目,他会绕来绕去,变换好多次,测试完标准案例以后提交一次直接AC

提交第二个题目:1046 Shortest Distance (20分)
这个题蛮有意思,果然是因为长时间没接触过题目了,大脑没转换过来,看到这个题,一看思路简单,直接往两边算呗,算出来果然有一个测试点会超时。这个时候就得想一下怎么算才能让效率更高,效率高到极致就是不算,直接用空间换取时间。

提交第三个题目:1065 A+B and C (64bit) (20分)
一开始看到是64bit的数据,很显然不可能存在一个数据类型可以完成加减运算,只能是另想它法,很显然大数运算需要利用字符串,可是这个字符串就麻烦了,总不能把进位,加减函数都写出来,还要写比较函数,还要涉及符号运算,太麻烦了。刚好今天看了很久算法笔记,其中一点就涉及到浮点数运算修正(详情见->浮点数运算修正<-),于是我就想,不管给什么数,我都按照在中间插入小数点,把大数转换成小数进行浮点运算,很显然这是一个错误的想法,因为浮点会损失精度,如果两个数相差不是很多,0.000001,很可能或导致出错,所以勉强蒙对了两个测试点。
这个时候参考了一下,算法笔记提供的思路,瞬间让我豁然开朗,对哦,刚刚学习了计算机组成原理,利用运算溢出可以轻松解决这个问题,一提交瞬间AC,果然还是要多思考再下手。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值