个人

来源:互联网 发布:linux编程获取串口参数 编辑:程序博客网 时间:2024/04/27 01:31

以后每道题做完后,都要进行反思,写或长或短的总结,积累经验,正如陈丽洁所说:“做再多的题没用,关键还是积累解题的技巧”,学TA的技巧将在文章的最后写总结


实际上,以后的题目分类也是要弄的整齐一点,这样才便于复习。


1:别怕花时间,一道题做出效果,才是最重要的


锻炼迅速找出问题本质,提高刷题速度的能力,不要在做题时以为时间多而没有紧迫感,考试时间很紧张,需要这种迅速反应能力

2:一定不要让一些显然的常数卡着自己,简单的优化就优化一下,不要嫌麻烦

小知识: mspaint  是——》画图

3:动态规划要求选手具有很强的创新思维和细腻的思考,dp是需用思维的,各种各样的dp层出不穷,就要像我做数学题一样,让答案跳出了,这是要找感觉

4:不要觉得有多难,其实就是和普通的数学一个样,数学你敢想,算法其实也应该敢想!!!!

5:dp的感觉怎么出不来呢????

6:位运算优先级太低了,位运算时必须加括号

7..double要用 %lf  !!!!!!!!wa了好几次!!!!!

8 结构体赋值可以把各个部分都同时附上值,

such as  

aa a=b;

9非常二得纠结于什么时候用dfs,什么时候用bfs,显然bfs在求最短的答案路径时用,而dfs是把所有情况列举出来,找合适的情况,不一定是找最短情况

还有可能是找最优解 

就唐神的话来说:求最少的步骤数(每一步代价相同)用bfs,其他的求别的(把所有情况列出了,通过计算找最优的情况)用dfs,

10在传递的参数是数组时,实际上只是传递了数组的首地址,所以,我们可以用

void del(int a[8][9]) 的方式来传,并且需要注意的是,由于传的是地址,那么在函数里面更改,就会作用到数组本身

有的时候,题目看起来非常的复杂,需要考虑维护的东西非常多,甚至,题目当中还有看起来冲突的地方(既让这个大,也让他小\\不是最大的最小。。差不多就那个意思,比如说bzoj1821)这样的时候。就要条件反射,有一部分是不用维护的是贪心那个意思或找个方法,将他在不知不觉间维护,记住这类 特殊问法

像一些题目,有时就是一眼看不到标准做法,但是其实思路就在那一刹那间,当你换了一种思考的方向,你会豁然开朗,学会从不同的角度看待和摸索,怀着一颗自信的心,在迷茫中拨开云雾,AC的喜悦会充实你的精神

11就算题目是明显考察爆搜的,但是也并不是只要码出来就能过,曾经有一句话说的好:人傻自带常数大,其实

爆搜也需要分析问题的本质,不能盲目硬搜,尽量的用一些技巧,无论大小,对程序优化一下,以防止出现个别的tle(such as我的玛雅游戏)

毕竟,考试也是很靠这个拉开档次的;——总之,分析问题特点,不要懒于小的优化,其实小的优化或许就是得分的关键


搜索一定不要忘了判重,hash判重!!!例如八数码和斗地主,都不能忘了!!!!!!!


在做完题后,学会反思,找到题目的精髓所在,记住,反思反思再反思!


如果,一个处理出一个序列需要找出不同数的数量,如果数列没有修改,且只求这个,那么就没有必要用set,它自带大常数,

可以排序后去重即可!

栈和队列这种数据结构也非常的重要,在一些情况下会产生很大的作用,注意灵活性质的运用


hash不是万能的,用字符串hash标准是::这道题好难,不会。。。不会的就拿hash水

意思就是不要先想hash


必须要注意,强制类型转换的问题,要特别检查会不会有乘法(主要)或加法超int!!要加ll,因为这个挂过一次,有乘法平方之类就要条件反射判断会不会超long long


注意有一些题目,里面的数据会有可能超long long ,像dp一类有些需要设初始值为inf的情况,因为ll,所以有可能出现最大值不够大的情况,所以尽量设大一点


突然发现好多最大异或值都可以考虑异或Trie啊


又发现,有一些题,告诉你数据范围,xi的和小于100000 或  什么什么的总长度小于多少,这样的题也许就在提醒可以想一想均摊复杂度方面,通过那样复杂度想想算法,当然这是只是一个思路


在对拍的时候,要注意随机数据的质量,防止失去对拍的意义,一般来说,查看一下随机的数据,两个程序的输出结果都看一看,如果随机的数据都是一些非常相似的答案(有一次,拍的答案都是1,2。。这些很小的数),就是因为数据出的不行,通过多看一看输出,就有帮助。当然要灵活多次的改变rand()出的数据,不要一个类型的程序到死。


根据大神们的提交记录,发现,如果wa到死且,实在找不纯原因的情况,就可以放一放,刷别的题找找状态,再回来做这道,的确不能在因此无用的浪费时间!

并且者这有利于debug!


如果做题比赛时自己有一些类似于贪心的思路,或者说是一些猜想,直觉但是并不知道如何证明的情况,然而计算机是检验直觉的最好的方法,可以通过输出运行的情况,来检验


单调队列优化dp,斜率优化dp,不是你看到什么dp题都想斜率优化单调队列什么的,是当你推出式子来之后,观察,看看是否可以进行优化,毕竟他们叫 优!化!


一定要注意在for循环当中,j++不要打成i++类似的问题!!检查的时候特殊注意一下,形成检查习惯


就算是暴力的对拍,也要强烈注意,程序的正确性,毕竟暴力也可能会有bug!


强烈注意,在long long的情况最大值不够大的情况!!,避免最大值不够大,这需要估算数据大最大值

1 0
原创粉丝点击