2019年7月30日训练日记

博主分享了在ACM竞赛中遇到的挑战,包括在A题和C题上的困难及解决方案,同时介绍了对链表、邻接表和Hash算法的理解。

今天训练的题目有些难,我状态也不好,竟然会在水题上卡。开始我限度了A题,觉得很简单,数据量也不大,然后就开始直接暴力,等我写完了运行了一遍发现直接暴力会少一种情况。看到别的好多人都出题了,我就把A题先放了放,去做了B题,B题做的还是比较顺利的,出了B题之后我又回去看的A,发现直接做不行可以将字符串分成两半从前面取一个后面取一个进行配对,一共分四种情况。
做C题的时候真的是不知道为啥,莫名其妙被卡。我想的方法是用两个数组分别记录前i项大于等于0的数的个数和后i项的小于等于0的数的个数。然后用一重循环枚举每个位置需要的步数,取最小值即可。样例过了但是就是一直WA,后来才知到,i=1和i=n的边界条件需要特判,不能直接加。

今天白天主要是把链表邻接表还有hash算法看懂了大概。链表就是把所有的元素放到一个数组里,建立上下的联系;或者是用指针模拟。邻接表就是对链表的一种分组,可以用来解决图论问题。Hash是自定义一个函数,将原问题中的数值或者字符,转化成自定义的数值,以便于计算比较。Hash一般用来解决字符串问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值