![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM学习总结
狠人王
怀着一颗热情的心,追随自己的梦想!
展开
-
ACM STL初步总结
在假期里学习了一部分STL(标准模板库)的知识,会用,但是用的不熟练,看到某些题目想不起来怎么用,学习STL不是只记住语法就完了,思想也是重点。下面列一下我近期学的几种STL容器。栈(stack)是先进后出的数据结构,只有一个出口(死胡同),只能对顶端元素进行操作。头文件:#include stack定义方式:stack<data_type> s;s.caozuo操作e...原创 2019-02-27 22:18:23 · 198 阅读 · 0 评论 -
acm周末学习总结
如果不进行大量的练习,只是被动的听课,那样一点效果都没有。acm很看投入,投入少想见成果,很难。更何况我们的算法课才12周。这两天看了看搜索的一些题目,我算是刚刚接触搜索,我觉得难度挺大,看透了一些题目之后就好很多了,那一阵学搜索的时候没理解。本周还是主要对单调队列和二分进行学习,二分还好,固定模板,固定思路,就是题目类型灵活多变,上午做的一道题我一直以为用贪心,没去试,用的二分,过了,有空去...原创 2019-05-04 20:51:47 · 135 阅读 · 0 评论 -
acm周末学习总结
本周继续搜索的学习,因为最近事情实在特别多,对于搜索这类递归枚举问题我又缺乏足够的知识和思维积累,所以对于vj上的练习题我基本上是没做几个的,这是时间和效率的问题。趁着周六,复习了一下以前学的算法,做了几道基础题,也有了一些心得和体会。还是要继续刷题冲榜啊。以我的认识,搜索并不是特别难的问题,一是搜索的框架很清晰,深搜广搜都很清晰,只是变化大 。二是搜索是以暴力枚举为基础的算法,正所谓暴力出奇迹...原创 2019-04-20 16:40:52 · 143 阅读 · 0 评论 -
acm周中学习总结
学什么东西不深入思考是不行的!保留一份个性,时刻有一颗创新的心!关于搜索,我在前篇acm总结性博客里已经介绍了部分内容,写的都是自己的心得和体会,却都是纸上谈兵,道理讲得头头是道,像什么剪枝、记忆化一类的技巧,但做题时感觉不太好。学习一个新事物时,例子真的是太重要了,通过例子才可以对知识有更深的体会。本周还学习了一些位运算的知识和二分法,下面是一些例题,贴出来以便对搜索有进一步的理解和体会。例...原创 2019-04-24 22:54:25 · 257 阅读 · 0 评论 -
acm周中学习总结
这周开始了数据结构的学习,上课有些困,听得不是很懂。继续努力吧。这篇博客记录我学到了什么:栈先进后出栈是只能在某一端插入和删除的特殊线性表。进行删除和插入的一端称栈顶,另一堆称栈底。插入一般称为进栈(PUSH),删除则称为退栈(POP)。 栈也称为后进先出表(LIFO表)。一个栈可以用定长为N的数组S来表示,用一个栈指针TOP指向栈顶。若TOP=0,表示栈空,TOP=N时栈满。进栈时...原创 2019-05-08 21:57:21 · 71 阅读 · 0 评论 -
acm周中学习总结
现在必修各科的进度也都即将进入尾声,acm算法课也快要结课了,做好计划,抓住时间,把握机会!查缺补漏,再上一层楼!昨天做了usaco的题目,做了四道,还是发现自己的很多不足的,比如读题的问题,如何模拟的问题等等。第一道和第二道题我都是用map做的,感觉stl是真的强大。利用好stl的知识可以简化很多代码量。总结图论的知识:一、什么是图? 很简单,点用边连起来就叫做图,严格意义上讲,图是...原创 2019-05-15 22:28:35 · 159 阅读 · 0 评论 -
acm周末学习总结
最近学习图论不很多,并查集算是看懂了,别的各种算法理解的不好。还是要继续努力。洛谷usaco题不错,有道题我卡了整整两天,每天思考解法,这个过程我觉得我思维开阔了不少,还有道题我用很少的代码量打出来,自己手动模拟也对,就是超时+越界,要想不超时,好像要2-3倍代码量。然后就是儿童节热身2,那天下午去上了电子实验课,没做。回来后自己做了做,水了四道题后,第五道题一开始想暴力,后来发现,我暴力都不会...原创 2019-05-25 09:08:59 · 260 阅读 · 0 评论 -
acm周末学习总结
本周继续数据结构的学习:这次是二叉树,二叉树可以实现许多功能,像stl里的map,set就是利用数据结构二叉树实现的。下面介绍二叉树:二叉树(binary tree,简写成BT)是一种特殊的树型结构,它的度数为2的树。即二叉树的每个结点最多有两个子结点。每个结点的子结点分别称为左孩子、右孩子,它的两棵子树分别称为左子树、右子树。二叉树有5中基本形态:前面引入的树的术语也基本适用于二叉树,但...原创 2019-05-11 22:54:57 · 114 阅读 · 0 评论 -
acm周中学习总结
当下最重要的还是做好下一步计划,平衡好时间。不管是usaco的题目还是别的oj上的题目,还是慢下来,思考明白。要把思考作为第一要义,思考清楚之后,写代码只是水到渠成的结果。算法要及其熟,基本的板子要非常熟。本周图论最短路径算法和最小生成树算法,以前只是听过,现在学过才发现如此有趣,能够解决很多问题。总结知识:1.Floyed-Warshall算法 O(N3)适用于出现负边权的情况,关键...原创 2019-05-21 22:02:34 · 99 阅读 · 0 评论 -
acm周末学习总结
这周做了洛谷上面的题目,还是发现很多自己的不足,最大的问题是思路不清晰。细节不到位。最近几周把精力集中在acm上,要为进入校队而努力了!然后今天和一个舍友组了个队打了一场比赛,最后就是有5道题有思路却只ac了3道,并查集的题目我们都不会,用别的方法没做出来,暴力不是总会出奇迹。细节,还是得注意细节。英文读题有很大问题,不是不认识个别单词读不懂,而是读英文不习惯 ,太浮躁。多做思维模拟题目对理清细...原创 2019-05-18 21:23:46 · 154 阅读 · 0 评论 -
acm周末学习总结
今天的比赛打的不怎么好,好多以前的算法都忘记了,看着众路高手屠榜,心里也是有点不甘的。菜是原罪,这就是acm。感到了困难和巨大的压力,快克服。坚持下去,总不会一直菜下去的。...原创 2019-06-01 18:33:44 · 89 阅读 · 0 评论 -
acm周中学习总结
今天打了训练赛,对自己提几点要求:1.模拟千万细心,思考清楚2.算法要深入思考3.一定学好算法4.题目自己想,想到昏天黑地原创 2019-05-29 23:38:36 · 96 阅读 · 0 评论 -
acm记录
刷题原创 2019-06-20 23:35:43 · 178 阅读 · 0 评论 -
日记
马上考试了,还有三周,19.20周有考试,18周有课程设计。加油,抓住最后的时间,把时间安排好,加油。突然好想回家…坚持。原创 2019-06-23 22:38:48 · 88 阅读 · 0 评论 -
acm周末学习总结
今天晚上本来计划打完牛客的比赛,但是在打完第一道题,正在开第二道题时,被临时叫去练手语操…练完操比赛已经快结束了。比赛结束后回看这几道题,其实都不难,都不涉及算法,只是需要一些思维吧。在思维题这一块自己还是要加强。最近也是在刷51nod,就当磨炼基础计算技巧和思维了。关于搜索算法,还是得继续加强,本身题目没做几道,还是得多看题和博客。二分是一种很好的思维方法,二分查找只是一种简单的应用,二分就...原创 2019-04-27 22:41:13 · 165 阅读 · 0 评论 -
acm周中学习总结
这周放假,松懈了不少。题目没刷,知识点没理解透。感觉自己和那些报省赛的同学的水平越拉越大。要想不被淘汰,就振作起来。关于做题,vj’的b题我一开始在做是wa,一直做一直wa,测试都对,加个换行也没什么区别,后来用了c++知识才过,真想不明白。然后做的题都是关于二分的。二分真是一种精妙而又简单的思想,很多问题一开始没有头绪时想不到二分但是想到就很简单,有些问题一开始肯定会用贪心和动态规划去做,...原创 2019-05-01 20:52:21 · 193 阅读 · 0 评论 -
acm周中学习总结
这周新开了搜索算法的学习,到目前为止,初步接触了一些搜索的题目和用法。搜索是一种利用枚举和递归寻找目标的算法。核心是对路径的枚举和递归操作。搜索分为广度优先搜索(bfs)和深度优先搜索(dfs),广度优先搜索就是逐层枚举,逐层查找,这一层不枚举完不进行下一层。而深度优先搜索则是一条道走到黑,先到n-1节点的下一层节点的第一个,如果不是目标,则回溯,对于n-1节点在向下便利,就像一个固执的人,总是...原创 2019-04-17 22:00:43 · 144 阅读 · 0 评论 -
ACM STL学习
sort的排序在algorithm头文件里,默认是从小到大排序,若要实现从大到小排序,可以写个函数实现,简单来说,return x<y;生成排列:头文件: #include <algorithmbool next_permutation(begin, end);改变区间内元素的顺序,产生下一个排列。bool prev_permutation(begin, end);产生...原创 2019-03-02 23:01:49 · 190 阅读 · 1 评论 -
acm 周中学习总结
我们在ACM算法课上学习了一种算法-----贪心算法。贪心算法是解决什么问题的?在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解,这种求解方法就是贪心算法。利用贪心算法会找到最优解。贪心算法的思想是什么?贪心算法没有确定的算法模板,贪心算法只是一种思想。在解决问题时利用贪心算法会很好的解决问题。每次选择最...原创 2019-03-13 23:12:18 · 208 阅读 · 0 评论 -
ACM 学习总结
优先队列一个拥有权值观念的queue,自动依照元素的权值排列,权值最高排在前面。缺省情况下,priority_queue是利用一个max_heap完成的优先队列的排序不是线性的排序,而是根据规定的优先级进行排序。内部排序是二叉树排序。头文件: #include 定义:priority_queue <data_type> priority_queue_name;如:priori...原创 2019-03-06 21:53:23 · 227 阅读 · 0 评论 -
STL重要知识总结
STL的知识学完了,明天的算法课就要讲贪心算法了。在这一段stl学习中,我逐渐掌握了stl模板的使用,的确很方便,也很让人依赖。题目需要思考,知识需要理解。vj上的题目没做几道,多数是用sort,vector,set做的,很多不会的题目。我总结这个不会有两个因素:阅读英语材料不是很适应和解题和代码实现没清晰思路。掌握了stl也不会做只是说明知识和思维方法还有很多没掌握的,代码敲的太少。可以说,...原创 2019-03-09 21:34:56 · 197 阅读 · 0 评论 -
筛法
筛法是一种效率极高的代码优化方法,对于查找某个数这种问题,最初的想法是通过遍历的思想,一个一个进行判断,如果要查找的数据较小还是可以满足要求。但是显然遍历这种方法对于某些要查找的极大数据效率很低。用筛法可以高效的查找元素。筛法就是用一些已知数据筛出要求数据的方法。看一个例子:丑数Ugly numbers are numbers whose only prime factors are 2,...原创 2019-03-07 16:13:20 · 308 阅读 · 0 评论 -
acm周中学习总结
我在本周继续对贪心算法进行研究,做了不少题,但是我还是没有把acm和必修课课程学习平衡好,对acm的投入还是不够,打代码不熟练,思路不清晰,自学时效率很低,看别人的题解总是看半天也看不懂。我总结:我最大的问题,就是基本代码实现思路不清晰和办法不多。以贪心算法为例,代码核心是排序,但是在输出时的细节处理如果处理不好也写不出程序。贪心是技术也是思想。但更多的是思想。学会了贪心不一定能写出优秀的代码,...原创 2019-03-20 11:26:05 · 108 阅读 · 0 评论 -
acm周末学习总结
这周主要把精力放到了贪心算法上,在vjudge上做了好几道题,基本上体会到了贪心的奥妙之处。即每次选择子结构的最优解,每次都是最好的选择,贪心贪心,不贪怎么能行。基本策略是对性价比进行排序,每次选择当前性价比最高的,也可以直接选择当前的最大的或最小的进行操作。比如有道纸牌转移问题,就是比较平均值和当前纸牌堆的纸牌数,先把每堆纸牌数都通过转移变成平均值,再逐步完成。做了几道题,越发感觉到算法的精妙...原创 2019-03-16 21:59:31 · 145 阅读 · 0 评论 -
acm周末学习总结
这两天,怎么说呢。。dp搞得我真有点懵,做题时想着动态规划的步骤,在写最核心的动态转移方程还是找不到诀窍,一些很简单的题目可以列出来,但是稍有难度就不行了。开dp这一段时间的acm刷题。。。。我发现我思路不开阔,有时候有思路就怀疑自己的思路的是不是错的。继续坚持吧。所以,并没做几道题,基本上都是做一道懵一道。还是见的题太少了,形不成思维,加油吧,刷题,看博客。这两天学的内容包括:1、看懂了01...原创 2019-03-30 12:54:20 · 138 阅读 · 0 评论 -
acm周末学习总结
做了这么久的贪心,发现很多题都是struct,cmp,sort这样标配的套路模板代码。但要想解决一道有挑战性的贪心算法题目,就必须把细节注意到极致,比如cmp相等条件的处理,bool选择细节处理,高效省时间的方法。这也是ac的关键。几个需要注意的细节点:cin cout写起来简单,但是程序处理并不高效。可以使用ios::sync_with_stdio(false);使程序耗时减短。在文件结尾...原创 2019-03-23 21:06:58 · 90 阅读 · 0 评论 -
acm 周中学习总结
初步接触动态规划,确确实实感受到了动态规划的不死板而且灵活的寻找最优思路的精妙,简单来说:动态规划就是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决。动态规划的本质,是对问题状态的定义和状态转移方程的定义。前面刚刚接触贪心算法,在很多情况下,用贪心策略可以得到最优解,但是贪心的思想只是去寻找局部最优解,即每次都是极端情况选择。贪心算法动态规划...原创 2019-03-27 18:47:55 · 202 阅读 · 0 评论 -
acm周末学习总结
dp是真的难。。。昨天打了场体验赛,很奇妙的感觉。今天还准备打一场。真会上瘾。区间dp真的不容易,不会做题。dp的总思路是寻找最优子结构,通过状态转移方程连接一个又一个的状态。说着容易,做起来难。dp的种类很多,彻底掌握dp还得通过做题。找规律是个什么算法?就是找规律算法:)在这两天我学到的:1、预习了区间dp。2、学会了动态调试。3、背包九讲又看了看,体悟更多了。4、打表思考:...原创 2019-04-06 09:46:39 · 135 阅读 · 0 评论 -
acm周中学习总结
近期总结:先说说做题。做题依旧困难,仍要不断打磨技巧,多看多打。关键是能够准确辨认dp类型,这需要经验和方法。动态规划一直是acm竞赛的热点,近来也越来越向思维性强上靠拢。思考清楚问题才是学好的关键。省赛快到了,不过跟我这个刚刚才接触算法的菜鸟没啥关系,虽然有机会报名但是我没报。我想我还是继续提升自身能力吧。厚积薄发,争取以后的机会。近期所学:本周开始了区间dp的学习,下面总结下区间dp...原创 2019-04-10 21:19:16 · 140 阅读 · 0 评论 -
acm周中学习总结
这周继续刷经典dp练习题,也开始学习经典的背包问题。逐渐找到了一些感觉。其实动态规划的本质就在那几行状态转移方程上,所有的思想大体都集中在那几行代码。所不同的是细节。是把所有数组都初始化为0还是-1,是初始化为负无穷还是正无穷都是值得思考的问题,如何设计循环初值也是个问题。这两天做题我都是先想模板,好像离了模板我就不会做题,事实证明也的确如此,最长上升子序列有模板,背包问题有模板,递归有模板,在这...原创 2019-04-02 19:52:38 · 166 阅读 · 0 评论 -
acm周末学习总结
总结:本周继续学习区间dp,上一篇总结里写了区间dp的一些概念,现在让我们回顾一下:区间dp是把大区间分成小区间逐步寻找最优值的动态规划类型,先求小区间的最优值,再求整个区间的最优值。区间dp一般是三重循环,先枚举区间长度,再往里是区间终点,然后是区间分割点。最后dp[1][n]往往是最优值,做题时读懂题意很重要。有时候区间并不是显而易见的,需要抽象出来。个人感觉最优解问题可以先对样例考虑贪心...原创 2019-04-13 17:51:49 · 164 阅读 · 0 评论