三月末学习总结

学习总结

动态规划的学习过了一段时间了,我还是有很多不会的地方,特别是那个背包问题,发现有很多题型都是背包问题的变型,但是因为我对背包问题仍不理解,我就暂时放了过去。最近打的代码有点少了,因为我觉得我有点思路的基本都做过了,剩下的不是看不出怎么动态规划就是还没想出来怎么改变状态。

明天我觉得要看一下动态规划的背包问题,学学那个题型,然后就有已知的两道题应该可以有思路做出来了。还有一道题我觉得跟最长降序列有关,思路应该是跟最长子序列差不多的,不知道何时我才能做得出来。

最近被物理折磨的死去活来,学的超级快,没有一两节课就学下一章了,所以我很多时间都花在了做习题书上,况且这个动态规划的题目看不懂实在没有动力去思考。做的第一个题我看了整整一天,晚上做梦都梦见他了,还是没什么思路,最后终于在度娘的帮助下写了出来。

虽然这道题最后我也不是独立做出来的,但是也是有很大的好处的。比如那道题我记得格外的深刻,比那些强行改代码改的稀里糊涂终于ac了的强。这次的作业我也有很少在求助于网站了,虽然我的技术实在是菜的一批,不过好歹我独立性提高了不少。但是看着同学们做的那么块,而且只交一两遍最多四遍就能ac,还是好羡慕啊,要是我能有更多的时间来学习代码就好了。

但是我最大的困惑不再于学习的时间。我知道我有很多零碎的时间都被我来打游戏了,但是这不是最过突出矛盾,我最难以抉择的是学习acm跟学习普通专业课之间的矛盾。由于我这次考试考得还可以,我就没有足够大的决心来放弃我的专业课,但是玩又很想学好我的acm课程,也不舍得放弃它,而我也不想放弃我的游戏和我的小说,因为我的内心太过脆弱,学多了就很容易烦躁,只有干点别的东西才能转移我的注意力,让我稍稍开心一点点,不至于上面都学不进去。老师,我到底应该怎么做呢?

最后实在不知道该写点什么了,就写一下最近提交时遇见的一个神奇的错误吧。

G++与C++的区别

以下借鉴于其他博客:

C++是一门计算机编程语言,G++不是语言,是一款编译器中编译C++程序的命令而已。

提交时差异:

1.在OJ提交的语言选项中,G++和C++都代表一种编译的方式。

2.选择C++意味着你将使用C++最标准的编译方式,也就是ANSI C++编译。

3.选择G++则意味这你使用GNU项目中适用人群最多的编译器(其实也就是我们熟悉的Code::Blocks 自带的编译器)。

4.类似的还有选择C和GCC,前者是标准的C编译器,后者则是用GCC来编译。

编译时的差异:

编译器优化不同。

举个栗子: ①: a++ ②: ++a

从标准C的角度看:①式是先调用,再自增。在调用过程中,会申请一个新的数据地址,用于存放临时的变量a’,然后在把a’加1,之后在把a’赋值给a。但是②式不会这么麻烦,因为它是先自增,后调用,也就省去了申请新地址的功夫。所以理论上,二者的时间消耗是有差异的。

而如果是使用GCC来编译,那么这两者基本上没有差异。

精度缺省:

①long long类型,作为一个在C/C++11才被确认为基本数据类型的一个数据类型,在不同的环境下,他的类型标识符是不同的。也就是%lld 和 %I64d了。

②double类型也是一个有趣的类型。double类型其实准确地说是双精度型,他的内存长度一般是比float类型(单精度型)的多了一倍,有的时候很早的标准里是把double称为long float的。所以说就有了为什么float类型用%f,double用%lf。

在用scanf读数据时,为了与float区分,使用%lf。

在用printf写数据时,由于实质上,double和float是同一个类型,只不过内存占用有差异而已,他们的标识符都是%f,注意,这个和标准C不同,这里的都是%f。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值