山东农业大学acm第三周学习总结报告

山东农业大学——ACM——第三周学习总结

一。本周学习总结回顾
本周学习内容是延续上周所学习的贪心算法而来的;所谓贪心就是用最简单最快捷的方式完成题目要求。
贪心有很多经典题目,下面进行一一列举和自己的参悟与总结
1.最优装载问题:
这是最简单的贪心算法,其思想就是利用上周所学习的排序进行从小到大的排序后,按照题目所给要求(尽可能多的数量等)依次将物品放入即可。这其实很简单,到后面介绍的题目中会遇到很多相似的点。
2.背包问题:
与最优装载问题大同小异,我所做过的题目中我遇到了三种情况 如:装最多的东西,选择价值最大的东西,性价比问题(后面所介绍的题目也会经常遇到)。这些问题其实也是属于相对简单的内容,基本思路还是排序,只不过按照题目要求在排序前可能要对数据进行一些除法操作(注!老师上课讲过,尽量少用除法运算,更多的使用乘法与加减法运算来代替)
3.货币找零:
其实和前面两种问题几乎差不多不做多的解释
4.区间调度问题:
我对理解,这就和最大化安排满自己的时间是一样的,做一个“时间管理大师”,我认为做这种题目需要设置数组将所有数据输入进去,然后依次排序(从小到大)从而将“时间”排满即可解出题目。
5.字典序问题:
我的解决办法:遇到这个问题我们直接数组输入数据然后排序其实很麻烦,因为我们要让第一个数据和所有数据对比,此时我们可以写一个 优先序列 直接一步到位。

然后本周老师还讲了一些典型的题目供我们拓宽对于贪心的思维我会在第二部分做题感想中进行总结。

**做题的解决思路:**对于贪心题目,首先第一点要读题目,读不懂就像老师上课那样拿起笔来用简单的数字来带入找找规律(思路是最重要的!)随后要回顾所学知识点,想想哪些知识点可以用到题目中去,最后一定要注意细小的细节!保证代码的完整性!

二。从题目中的所学!
首先说vjudge中的题目!
**1.**注意代码可以运行的情况下,输出时不要多加一些中文解释,例如:牛的距离是 等等一类的东西,否则无法AC。
**2.**有很多题目有规律可循,例如A中的题目,就存在一个数学中的小规律。虽然当时做题的时候总感觉有规律,但还是没放在心上,也没去可以的去算,导致我的代码就比别人的长很多。
**3.**注意循环中的循环的意义,之前一直理解错了,询问过同学后才看明白,上年没好好学,甚是惭愧。
**4.**我们在做排序时不仅仅是简单的头文件加上sort的调用,还有要注意bool类型的应用。
**5.**别忘了return,之前不写return也没给算错,但今后注意,返回值其实是有其意义的。
**6.**小数点的表示方法忘了!#include printf("%.小数点位数\n",元素)
**7.**还有注意continue 和break 的应用,这玩意儿用起来真的是好用!
**8.**记得很清楚的是F胖老鼠问猫咪买东西的题目,我意识到了读懂题目的重要性,好家伙一直做,做完才发现自己连题目都没弄懂直接忽略掉了不同的屋子不同的价格问题。
**9.**做题的时候遇到了一个曾经学过但自己没点印象的东西,strcpy的应用!利用构造函数进行复制的时候一定一定不要忘记。
**10.**让我感觉最恶心的还是老师在星期四后半节课讲的那几个神仙题目,打牌必赢的局数,老板找工人付钱的那两个题,这种做题的思路难找而且以我目前的水平,就算知道思路也写不出来。

三。感想:
学了ACM才知道自己虽然是学计算机的,但自己根本啥也不会,也就知道一点点最最最基础的东西,学习的过程中认识到了许多优秀的同学,也认识到了他们的付出与努力。最最喜欢的还是熬到半夜然后搞定一道题目后的狂喜。我对于编程的兴趣急速飙升。增添热爱,继续努力,目的就是为了真真正正的学到东西!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值