山东农业大学ACM学习 第五周学习总结。

一.本周学习总结回顾

本周接着上周的学习,学习了动态规划,经过这两周的学习,我对动态规划也有了一些理解和感悟,在此总结一波。
这周做了8道题(距离截止时间还有9天,实话实说,现在做题还是困难,想了个把小时还是做不出来,这周做题的过程中,我又犯了一个相同的错误,就是光想却不动笔写例子,解决问题。实话实说,借鉴了很多次题解,但是我可以保证的是,题解我有认真的分析也有认真的改动和记忆。)第六周没做啥比赛,周六晚上有一个比赛费老师要求我们参加,我已经找好了小伙伴组队来gan这次比赛。还记得上回愚人节的比赛,我完完全全真真正正自己A出来了一道题。那心情,那叫一个爽。现在做题已经感觉很正常了,没有对难题的恐惧感了,感觉自己见识到了很多不一样的题目,对编程也更加有了兴趣。其实自己还是太菜,最近的智慧农业实验室我都不敢参加,生怕变成了害群之马。其实说到底,用功还不到位,继续坚持,冲冲冲!

**

1.最大子段和的问题:
上周学了最大子段和的简单版,这周学习了最大子段和的升级版。这个题有一个思想,可以利用一种立体想象的方式,先明确是什么样 的组合与排列,采用数学的思维模式。一般的动态规划抽象出来的为一维和二维数组的i和j,我们就是给定其特殊的含义,这个含义就相当于我们找的不同方式。所谓难点的最大子段和的问题就是二维数组甚至是多维数组的使用。

2.洛谷数列。
一切从sum闲得慌自己自娱自乐开始.首先考虑要寻找的答案,即最小的段最大值。它一定介于这个数列的最大值和整个数列和之间。因为数列中的最大值在被分段时,它所在的段和must>=它,临界条件是=它,如果只要分一段,那自然是总和。
1。如果分段数目比要求的数目多,即代表这个mid选小了,目标数在它的左边,返回为1->执行左区间变化为mid+1。
2.。如果分段数目比要求的数目少,即代表这个mid太大了,目标数在它的右边,返回0->执行右区间变化mid-1。
3.。如果刚好相等,因为要求段和最大值最小,就必须贪心到最小,要往左边看看是否有更小的满足条件,所以变化左区间,与1一样。(多操作即可)
。。。。。。

二。从做题和打比赛和上课题解中学会了什么。
自己总结的动态规划的解题过程:
1.按照问题的特征和内容(一定要好好读题,必须要睁大眼睛,别上来就写,吃过亏!)把问题分为若干个步骤。在划分步骤时,注意划分后的步骤一定要是有序的或者是可排序的,否则问题就无法求解。
2.确定变量,将问题发展到各个阶段时所处于的各种情况用不同的状态表示出来。变量的选择也是有技巧性的。一定要学会表示。
3.确定决策,因为决策和状态转移有着天然的联系,状态转移就是根据上一阶段的状态和决策来导出本阶段的状态。所以如果确定了决策,状态转移方程也就可写出。但事实上常常是反过来做,根据相邻两个阶段的状态之间的关系来确定决策方法和状态转移方程。
4.寻找特殊状态,给出的状态转移方程是一个递推式,需要自己去发现去探寻。

三。感想
本周的学习,我又一次受到了难度的打击,对于题目,我可以读懂,就是写不出来,各种错误来回犯错,编程能力还是太差了。但是接触了动态规划后,我对于贪心算法也有了新的理解与想法,各种复杂的算法让我意识到还有很多很多要学,这条路还很长,自己思维的方式发生了很多的变化,最优解的思想一直贯穿在我的学习生活中。接下来的时间,一方面要跟上老师的节奏,另一方面也要自学C语言,并尽快的掌握C++,在提升思维能力的同时,也要提升自己的编程能力。
**“生死看淡,不服就干!”**冲冲冲!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值