第三周

对于所做贪心算法题的总结
1.一些令我记忆比较深刻的做题过程:

对于最短前缀那个题一开始我是一个个循环比较写出的代码输出了哥花里胡哨的东西,几番波折还是写不对我就上网查了一下,我的代码一个个比较主要错在太繁琐了很容易出现考虑不到的情况。看了别人的代码我知道substr(0,j)这个东西指定长度复制,进行一段一段的比较。那个装箱问题我放在一本通题通过在openj却不通过,想了好久,还有过质疑openj的时候。最后还是发现了一个小问题,多减了一次体积1个数的情况。看见AC直接有一种难以描述的喜悦。Communication System这题刚开始题目没理解清楚他那个总价是不同分类设备的最小价格之和,我以为是单独的。甚至上网查看别人的代码都看不懂,最后看了好多遍题目才看懂,看懂题目后觉得这个题也没这么难了。Sunscreen奶牛这个题,英语题没那么好看懂,我以为防晒是用来降低那个值的,所以晕的一批,后来看懂了才知道在那个范围内起作用的。看懂题目只是更好的理解,代码还是上网找思路老师给的优先队列是大的排最前面,这个priority_queue<int, vector, greater > q;是把最小的排在最前面。Ride to Office 提交了好多次就是不通过,最后发现又是一个极其细节的问题,没处理好符合条件的计算值的赋值问题。导致每次都与自己对比,没和下一次的对比。电池问题也是提交了超级多次,刚开始我是分类写的n==2,n>2;这两类就是不通过。后来发现如果后面有最大值比起前面加起来的都大呢?就不行了。所以改了写法。用个判断语句就行了。拼点游戏刚开始有些晕,其实就是两个从小到大排,大的跟大的比,小的跟小的比。Integer Intervals 这个题一开始我用区间最小和最大来比较。后面发现如果后一个区间最小比第一个小呢,所以要第一大和次大的才行。特殊密码锁,刚开是很晕无从下手,根本不知道怎么做看了题解还是没理解,就放着,今天早上一起来准备写总结突然就想明白了。有时候不会的题不要死磕浪费时间,可能下一次再去想就会突然开窍。
主席议员题是两个优先级问题,我想了很久,查了些资料,最核心的思想就是,先确定谁的优先级等级最高,然后以第二优先级的最坏打算来保证第一优先级,再在第一优先级得到满足的情况下来使得第二优先条件得到满足。(相对于这一题就是以主席灰头发为第一优先级,议员不高兴值为第二优先级)同理如果是第三?第四?第n?是否也是这么考虑的呢?我猜想应该是这样子的思路。
2.做了这么多贪心题的心得:
1.对于英文的题目,可能好多英文都看不懂,所以做英文题要抓住主要目标
单词理解,明确变量单词理解,输出的格式单词理解。
2.贪心解题虽然很好用,但是题目贪心思想可能想几天也想不出来,对于自己无能为力的题死磕是不明智的,该看题解还是要看。
3.对于一些有自己的贪心思路的题提交不通过的,可以自己猜想一些极端情况。自己在草稿纸演算。一目明了。
4对于自己想实现的步骤可以上网查找资料,运用在自己的代码里。
5.对于有一些自己找不自己代码错误的,自已以为很对的代码,可能内心就比较烦躁,难受。这个时候越这样子会越糟糕所以尽量使自己心静下来。
6.有时候做题时,会感觉到某个题跟另一个题很像的时候,可以回去看看差别在哪里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值