acm思维随笔

关于思维的个人两种半冲突的理解

第一种理解:

天赋+思维训练+第一次思考方式,主要由本人自己思考形成思维

第二种理解:

天赋+脑中知识图形式+已有知识熟练度,主要由学习过的事物形成思维

思维随笔:(不定时更新)

1.查找

|||||||||||当需要查找时,无论查找的是什么,都可以这样考虑:直接计算=数组下标>前后缀状态,二分,哈希,离散,map。
|||||||||||也突然发现了关于暴力枚举的优化
我们没有必要进行全部数据范围的枚举,可以只枚举可能是答案的点。
||||||||||我的意思是,比如数据的范围是1e9,然后这个数列的某一个值造成了最优答案,可以枚举数列的单个值来求,说起来很基础,但确实可能会忘记。

2.个人算法理解

差分:将数组转换成条形统计图,利用前后缀和思想。
动态规划:实质仍是贪心,本质上是将贪一次变成贪n次。个人认为是“状态叠加”的味。
于2020/3/14更新:
所谓动态规划,实质是状态转移,我一直不懂到底什么是状态转移,最近做了一道题,豁然开朗。
动态规划不能仅仅局限于背包之类的问题上,接下来我会用比较笼统的话去叙述以我的视角去看待动态规划。
所谓动态规划,其实就是因为一个状态从另一个状态得来。(这也是我之所以不能理解的地方){开始:
如果你已经知道了大概的动态规划是怎么回事

dp[i][j]=max{dp[i-1][j],dp[i][j’]+val}

一直没能理解其中的含义,现在终于知道了。为了方便,我用几何类比一下。
对于第i个状态,再进行动态规划的时候,其实是这样的。
i个状态的获取方式一般不只一个,那么我们怎么办?
全存,是的,动态规划就是在暴力过程中储存所有可能的结果。
比如典型的背包问题。
其归咎于n个,每个包有选不选两种情况。
怎么全存?全存就是2^n的问题。
于是我们转化,因为每个情况之后,肯定会有相同的。
什么是相同的?
比如,有重为2,3的包和一个重为5的包。他们就是相同的。
但是,存的时候就只会存2,3的包,因为只有2,3的包是同一情况下的较优解,这就是我前边说的贪心概念了,只存较优解,较优解永远覆盖弱的解,因为只有这样才能从较优解不断较优从而达到整体最优。
}

假如你已经会递归了(递归其实就是动态规划的逆向思维,那么递归的逆向思维也就动态规划)
典型的动态规划问题,是将一个本来暴力需要a的b次方的问题去转换到a*(值域)的问题。
可以这样想,对于任何一个选择,其始终会落在值域,那么对于一个值(设为A),由于另一个值(设为B)是有这个值(A)进行操作得到的,所以只需要用这个值(A)去模拟操作,然后将原来的B与操作得到的新值去比较,仅保留最优。得到了的B可能不止一个,因为有很多个A可以得到。
动态规划对于算法小白来说可以说是比较难理解的(比如我)
贪心:是暴力优化,优化掉了看上去不是好的方法。可能需要用到前后缀,并不一定是和或者差,也可能最大值,最小值。
并查集:借用数组下标迅速查找来保证时间效率。

3.个人关于比赛的看法

可能是错误的结论,但是我觉得以后比赛中的板子题会越来越少,算法题的门槛会越来越高。思维题将会作为铜牌题占更大的比例。入门算法数论或者数据结构题太水,高级一点的又只有大触能做出来,平常一点的又怕被喷水。但出思维题就没什么好说的。

4.竞赛怎么学

2020/4/6日更新
以下为本人想象中关于理想情况下的竞赛学习模式:
1)系统性的学习基础理论知识(群巨都推荐的那种书):
----①先进行原理理解,比如kmp是怎么减少比较次数,线段树是怎么进行logn级操作,动态规划是最优状态保留,迪杰斯特拉最短路是因为正数加正数一定大于原来的正数。
----②进行简单练习,比如把它当做黑盒用,再进阶一点就是拿着板子去改。
----③进行专题训练,在进行专题训练的时候,不必考虑是不是用这个知识点,而是只使用这个知识点。就算其他方法更简单,也是用专题的解法进行求解。
2)练习(推荐网络练习赛,不推荐没有明确目标的漫无目的的做[因为你无法热血起来])
----①首先推荐codeforces知名度高,也适应各个水平,最重要的是赛后可以查看别人代码,测试数据以及每场都有题解,思维扩展收益很大,每道题不止一种解法,2小时的时限可以促进你的专注力,打的时候一定要有危机感,当做真正的比赛。其次是国内的牛客和洛谷,这两个偏重于算法,适合进行算法的理解和转换。说白了就是作为数据结构和高级算法练习很好。
----②当你打完一场网络比赛的时候,最重要的结束后,你一定要补题和看看别人怎么做的以及查看题解,补题重要性不言而喻,你经常会遇到没有学过的知识点,纵使你看过很多的书。但是你打的比赛越多,补得题越多,你的知识面就越广。万一正式比赛的时候刚好撞见了呢?
----③悟悟是反思,是发散思维,寻找其他解法,把你的脑子想成一个电脑,进行dfs寻找可行解法。每找到一个可行解
3)端正心态(心态很重要)
----①比赛是为了拿奖
----②拿奖其实很简单,区域铜,省银(河南弱省,感觉银还是很简单的)
----③每做一道题是一定有收获的,可能有些题你想到了,就很简单,可能有些题你没想到,就很困难。但是,实力是一定不会凭空消失的。
最终条:无论什么时候(线上还是现场),不要心态炸掉,坚持,仔细检查,思考,绝杀是一定有可能的!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值