3月18日每周总结

总结

目前遇到的问题模型
(贪心算法需要对数据先按一定规则排序)
从问题中抽象出贪心标准的数学模型是解题关键

区间问题:
一连串起始位置,终点位置,求最多进行几个活动…安放雷达…搬运桌子…叠加区间…一般都要设结构体,两个属性值,然后将问题抽象转化。
截止时间问题:
设一个date数组,写一个Finddate函数,用并查集思想查找合适未使用的时间,下标用来标记初始可用时间,每次使用完后,该处数组值要减一
追击与等待问题:
此类问题有一定条件要求,比如最终都会到达,就不用一步一步模拟了,直接贪到底,大大简化了问题的模型,利用潜在的贪心标准:下一个人的时间和现在的时间来比较,选出最早或最晚,类似这样的问题,需要很长时间把握该问题的核心。
数列规律题:
这类题没找到规律根本没法做,所以需要列下简单的数据,一点点琢磨。比如推递推式这种操作,如果能找到,将大大降低算法复杂度,需要很高的数学证明与计算能力。
贪心+其他算法或者数据结构:
这类题较灵活,目前练的较少,不是很熟悉它的套路。比如贪心加二分的那个印刷书籍的题,不知道怎么入手。
一点点图论:
青蛙邻居那个需要图论里的定理来做。

算法与数据结构的多重组合方式,让题目难度加大,所以基础要扎实,不然一掉链子就不知如何入手。还有就是,知道很多算法,但不会运用,不知道用在哪里,怎么用等等,自己这方面问题确实挺多。

感受

经过两个周的刷题,或多或少都对做题有了那么一点感觉,碰到类似的变形题都会有确切的思路,但是遇到难题,还是没有思路,大部分是因为读不懂题,即使翻译全文,也没完全把握整道题的突破口,语言方面的欠缺是众多阻碍之一。一旦,有一句话没读懂,可能就会在此处WA。所以,做这种英文题需要耐心和细心,我一般都是先自己读题理解题意,然后对照输入输出,再进一步理解题目要我干什么,如果还有读不懂的,那只能借助机器翻译一下,当然,机器翻译大多数都不尽人意,不像人说的话。因此,需要培养做题的感觉和敏锐的观察力、以及英文阅读习惯。

再者,一个算法思想可以变化出很多巧妙的问题,如何从本质上理解它、运用它是关键。虽然学了贪心算法,知道贪心算法是每次都依据贪心标准构造出局部最优解,思想是这么个思想,但怎么实现?怎么构造出适合的数据结构?怎么在此基础上计算?这又是另一回事。我认为,要清楚认识一个算法应该从多个角度接触它,刷题是一个方法,但是刷是手段,这个锻炼思维、加深认识的过程是目标,这就如同那句话 “ 学而不思则罔,思而不学则殆 ” ,当然,有得必有失,不付出一定的代价、不花上时间来沉淀,急于求成,往往欲速则不达。

还有就是心理承受能力,有时候就想凭自己的代码AC,但有时就AC不了,一个题WA了还凑合,一个又一个题WA,改来改去,最后放弃自己做,去看别人答案,的确不甘心而且打击自信心。其实再仔细想一想,我本来就很菜,非要求AC带来的成就感,又不想COPY别人的代码,一道题一天都改不对,这样太浪费时间。半个小时一个小时实在做不对,还不如看题解,理解后、消化完,再自己敲上几遍,明白了再提交。总之,有时候能自己AC确实舒服,但更多时候不能自己AC,所以必须要能抗压,不要盲目和别人比。

竞赛终究要靠实力说话,想要变强,就得吃苦,百炼才可成钢!!!加油吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值