2019年7月22日学习总结

it2022-05-11  61

今天是开始训练的第一天,没有学习一些太难的东西,主要是看李煜东写的算法竞赛进阶指南,第一节讲的·是位运算,知识点算是比较简单,但是对我而言还是有一定的难度,主要是基础没打好,对于原码、反码和补码的概念不是特别了解,在学习位运算的几种运算方式上给我造成了许多困难,上网查找了一些资料,对我帮助很大,如何来快速算出一个数的补码,就拿-5来说,-5=-8+3,-8的补码是1000,3的补码是0011,那么-5的补码就是1011,这样计算补码就方便了许多,8为二进制数我们可以以-128+某一个数来表示我们要求的数,十六位同理可用-32768来表示;

新学了如何快速求a的b次方对p取模,在一以前,我用到这样的题目有最简单的思路就是把a的b次方求出来,然后对p取模,但有时a的b次方太大,超出了long long的范围,题目就无法解决,现在学了位运算,可以利用位运算来解决这个问题,,时间复杂度还特别低,巧妙的利用位运算可以让我们解决一些看起来很复杂的问题,现在初步接触位运算,不能会做那样一眼就能看出需要用位运算来解决的问题,还需要在平常多思考,看看那些问题能够用位运算进行优化,提高自己的综合能力;

今天还粗略的看了一下递归,在以前,我感觉自己的递归学的还不错,不过看到书上的例题后,许多在我看来根本不能用递归解决的问题,都能用递归来解决,学的还不够深刻,对于知识的理解还只停留在表面,不过还好,集训刚刚开始,还有机会去弥补,明天要更加努力;

今天晚上做的个人赛,我感触颇深,c题刚开始做,没仔细看,就开始做,结果没理清题意,第一次交就wa了,后面重读了一遍题才做对,做题还是要好好读题,不能大意;e题没想到要用优先队列,我用的是for循环加sort排序,还好数据量比较小,才没有超时,比赛结束时和队友讨论时才想到这题最正确的解法是优先队列,出题人的考察意图也是如此;b题难度也不是特别大,刚开始没想到要用深搜,主要是我搜索掌握的不太好,想偷一下懒,就没用搜索,交上去就错了,后来才用搜索,改了比较长的时间,如果搜索学的好的话就用不了那么长的时间了,a题和d题也就有时间来看一下了,搜索必须好好学习了。

今天的学习就是这样,我感觉还是很充实的,学到了许多东西,能力提高了一点,知识要一点点的学习,要认真,不认真的后果就是在比赛是什么题都做不出来!


最新回复(0)