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

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

一。本周学习总结回顾:
本周接着上周学习,学习完了贪心算法,并且动态规划起了个头。
这周做了12道题(实话实说,有抄的,因为自己实在写不出来了,但都是看懂后才提交的,当然这样做有糊弄的成分,绝对没有下次了),参加了一次比赛,晚上十点半我和其余三个伙伴组队,一起做题,一直做到一点,我一个题都没写出来,将ABCDE这五个题都看懂了,也有了思路,就是写不出来程序。到最后第一个题做出来了,因为之前还在比赛时间的时候没提交,最后就算AC了也没我的成绩。其实说到底还是自己太菜了。继续坚持吧。
本周学习很有印象的几个题和知识点:
1.小船过河问题:
这个题其实也没啥就是和上周学的背包 最优装载 货币找零是一个性质,排序+一定的逻辑分析。我对这个题有很大的印象的原因是,这个题让我认识到,每个题不一定只有一种逻辑思路,其实自己想出来的逻辑思路未必是最简单的。这个和vjudge中的A有异曲同工之妙。
然后上课讲了几个例题,让我记忆犹新:
1.含元素最小的集合:
这个题得有一个思想,得先看第一个元素区间的最大的一端,然后移动下一集合,直到不包含最右端的那个元素。这个思想我还是第一次见。
2.赶作业,尽量少的扣分的问题:
这种题其实主要思想就是先找扣分多的且截至时间早的。这种题目做的时候就一定会出现一种对比和排序。这题其实没啥意思,但是一会儿我会介绍一下这个题的升华版:整学生会会长的题。
3.奶牛牛吃花花的问题:
这玩意儿也就是上面问题的加强版,我们得注意到时间的积累,所以遇到这种玩意儿,大家得把这个当做一个数学问题来做,找出公式,然后判断抓走每一头奶牛被吃掉的花花数,然后sort排序。得注意的是判断两个玩意的大小可以采用做差的方法,然后采用bool。
4.物体碰撞合二为一损失质量的问题:
其实这题就是个物理思维(以前经常做这种物理题),但得注意一个东西,就是可以动笔算一算啥样的物体碰撞才能损失最大的质量。
5.俩人在一条线上,穿过城市,获得金币:
这个最恶心的地方就在于这俩人是有距离限制的,而且城市的数量可能还有限,你可能完全走完也可能走不完,还得注意是否到头。其实等到距离限制的最远距离时,只有两种选择都往右走或者都往左走,这样达到了保持距离的情况下又获得最大长度区间的金币。(其实我对这玩意到现在还有点问题,因为按照题解的解答最后其实只有两种选择,但我却找到了特殊情况,答案无法运行出来。下周我会对此题再一次的进行解释)
6.学生会主席被嫌弃的题!:
上周老师上课讲了一点,但当时我还困了没挺多懂,在此我来深刻分析一下这个恶心的分析题目,这个题很考思维量。
首先须知道,对于每一个选择(p命令),该主席一定是把b值最小的p-k个不接受,如果b有相同的,则尽可能使自己的头发变灰的数量最小即a值尽量大。第一步:按 b:小->大 a:大->小 排序,前p-k个无论a有多大,如果选它都没用,a不能发挥作用,所以只能在后面的n-(p-k)个里选。第二步:按 a: 大->小 b:大->小 排序,选择前k个,使得suma最大,b的最小值也最大(因为要保证主席需要接受它)。第三步:保证了k个命令的suma最大后,剩下的任务就是保证p-k个命令的sumb最大了。再次像step1中那样排序,此时注意在a、b相同时应把已经选在k个中的尽量靠前,然后依次输出后面的命令下标就够了。(盗用了一波题解,因为我就是单纯的理解的这玩意儿)
7.钓鱼钓最多的鱼:
思维其实不是很难,当时上课的时候我就想出来咋做了。但是注意俩东西:差分的概念和做法,以及优先队列的使用。
翻了翻这个星期讲的东西,这几个题目令我印象最深刻。

二。从做题和打比赛和上课题解中学会了什么:
1.小船过河问题让我意识到自己的思路未必是做好的思路。
2.赶作业和学生会会长被嫌弃:可以在一起看,很锻炼思维,其实题目就是现实,这不仅仅锻炼了我们的思维,还让我们学会以最优解解决所有问题,
**3.**奶牛吃花和物体碰撞:其实就是高中时的数学作业和物理作业。遇到这种问题将它化做数学或者是物理题来解决就很舒服了
**4.**位与、位或、位异或的特点总结:
位与:(任何数,其实就是1或者0)与1位与无变化,与0位与变成0
位或:(任何数,其实就是1或者0)与1位或变成1,与0位或无变化
位异或:(任何数,其实就是1或者0)与1位异或会取反,与0位异或无变化
5.最近做题老是遇到数组。全忘了,而且坐标的赋值的知识都不会了,复习了一波
6.星期五晚打了一波比赛。深深的认识到自己的不足!
有一些东西我在上面的学习内容中体现了出来,就不在多做解释。

三。感想:
本周的学习对我打击不小,对于题目,我可以读懂,对大部分题目有自己的思路了,但我就是写不出来,上年学的太混蛋了,简直了,感觉接触了ACM才真正接触到编程,之前一直在想,学编程到底能应用在生活中吗,最近这一周的学习和做题,我深深的意识到,编程源于生活,就是为了用最优解来解决问题。这一周感觉自己的思维方式有了些改变,有了自己的思路,但是自己的编程能力太差了,接下来的几周时间,在提升思维能力的同时也要提升自己的编程能力。真正的学有所用。
“生死看淡,不服就干!”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值