如果你想入门算法,那么我这篇文章也许可以帮到你。

先说点题外话。这是在一个不冷不热的寒假,照理来说寒假应该很冷,但这个寒假是真的舒服。这样舒服的寒假学习似乎是一件不可能的事情,所以我继续我的游戏生涯,点开了我最近新玩不久的游戏,名字叫做阴阳师,相信有一些小伙伴应该是玩过的。不喜欢随便玩。这个游戏入门应该是比较难。我凭借着一学期的努力(不是努力打阴阳师哈)在别人开始复习期末考试的时候开始了我的阴阳师之旅,每天真的是爱不释手。别人复习我玩游戏真的美滋滋,不过要入门这个游戏真的是费脑筋(玩这个游戏时比较较真),基本上样样东西都需要百度,感觉我的阴阳师入门都够写一篇大文章的。(这次游戏之旅让我明白了只要自己认真学,快速入门一个游戏还是很轻松的)。

至于为什么后面不玩游戏跑去认真刷题目(估计是突然良心发现了吧!捂脸)。如果你有和我差不多的经历或者觉得我的经历有趣,不妨花个0.5秒点个赞,让更多的人看到这篇文章,还有可以关注一下我的公众号(玩编程地码农)啊。接下来吧我一些学习经历分享给你们。

先给大家看一下我oj网站上的记录,这是杭电刷题网站,我不是杭电的,我是一个非常非常普通的本科生。

很水的数据提交错误(WA)的次数太多,但我确确实实是凭借它比大多数人都快速的入门了算法。这里题目不多而且很多是水题,刷水题也有不少好处能让你在学算法题的路上没那么枯燥。

大概有哪些算法呢?这里列出一些我当时做的题(有些不在上面)。题目都是非常非常基础的题目属于入门级别的基本上没有什么变形,可以说相当于模板了。

                                  

接下来分享一下当时我是怎么刷这些题的(下面的一些数字要是看着比较烦的话可以不用太关注),我没看任何人的推荐路线去刷这些题(那时候我也不知道还有刷题路线这些东西啊,纯新手对一切一无所知)。登陆进去hdu一般情况下是在第11页开始的(现在好像又从第一页开始了,从哪里开始不要紧),也就是题号是2000,当时懵懵懂懂从2000一直刷到了2058。越到后面感觉有些题目难度就上来了(当然这是对我来说的)。有些题即使是看了很多的题解我还是不会,无奈只能跳过。

一路刷到2058题后,我发现题号是从1000开始的,前面还有好多题没有刷就跳去第一页刷题。所以后面我就从1000开始刷了。不过这次我学聪明了,我没有全部都刷。我只刷一些比较多人刷的题目,这里强烈推荐提交量超过30000的记住是提交量不是通过量,刷这些提交量通过三万的估计是我做过的一个非常机智的选择了,这些提交量三万的题目基本上道道是算法精品,是非常基础的算法题。我一路从1000刷到了2000左右(后面就没怎么刷了)。基本上所有的30000通过量以上的题目都给刷了一遍。刷完感觉自己好像变强了,思维好像也有了一定了提高^_^。

其实刷20000提交量以上也是可以的,那些应该也是一些算法题,有实力的可以这样子做。

如果你问我没有基础去刷这些题会不会困难,额确实是比较难,不过难也就难一个月左右吧。我刷hdu大概刷了一个月(期间痛苦并快乐着),就刷完上面所列的那些题目了。刷这些题的时候我才刚刚开始知道算法大概是个什么东西。我的基础只有大一刷的一些基础C语言题目。开始基本上很多题目都是找百度的。每道题目看了好多个人的题解,大多数时候看的一脸懵逼。很多人应该都和我参不多吧!不应该只有我这么弱吧。

如果你问我一个月够了吗的话。一个月是真的够了,只要你吧一天的主任务放在刷题上,真的可以入门这些非常有用的算法,从此飞黄腾达(其实是掉进了坑哈哈,不过为了钱一切都值得^_^)。如果你再肝一点半个月估计也可以搞定。

这里再分享一下我看题解的一些小技巧。开始刷到算法题(那时候并不知道这些题是算法题)是真的痛不欲生,百度题解一脸懵逼,看了好多题解还是不太懂这道题,不过看多一点题解就是我要分享给你的小技巧。刚学的算法题,随便找一些自己认为比较好的(推荐代码简洁的),然后就去认真的看,看不懂没关系一遍很难看懂的,可以不用继续看他的题解,去看其他人的题解,认真看个几个人的题解,慢慢的你就会这个算法有一些了解,看着看着你就会豁然开朗,感觉看的题解差不多的时候,就从中挑一个自己认为比较简洁的代码去看(记得多问几个为什么),一定要每一个细节都搞明白,为什么这里是这样子,那里是那样子。多动手在纸上模拟(这样子不容易开小差)。

曾国藩说过这样一句话“大处着眼,小处着手;群居守口,独居守心”,我的刷题方法似乎在一定程度上吻合了“大处着眼,小处着手”这八字真言哈哈。这八个字放在哪其实都是可以的。不赞一波吗,再关注一下公众号(玩编程地码农)呀。

如果你问我现在开始学的话晚了吗?你能看到我这篇文章,那就说明不晚,至少你正在找一个让自己变优秀的理由。我没有理由给你,但我用我的实际行动告诉你,只要你坚持一个月,你一定会变得更优秀。相信你学完这些算法会找到让自己变优秀的理由(哪怕是为了钱也好啊)。

如果你不喜欢刷题,想快速入门算法我觉得是不太可能的,学算法一个比较好的办法就是持之以恒的刷题。

这些题量多吗?真心不多,坚持一个月,即使是你没有任何的算法基础,只要你会一门语言,就ok啦。当时我是大一第一学期学了C语言,寒假边学C++边刷hdu的。抬头看了一下日期,假期就快到了,你准备好了吗?其实从你看到这篇文章的时候就可以开始啦。

大一寒假就在著名oj网站上刷题的萌新,关注我以后后给你意想不到的收获,接下来还会有更多的干货,欢迎关注我的公众号(玩编程地码农),我要开始爆发啦。

大一寒假我在一个oj网站只刷了这些题从此入门了绝大部分通用算法的更多相关文章

  1. 花了一个月的时间在一个oj网站只刷了这些题,从此入门了绝大多数算法

    如果你想入门算法,那么我这篇文章也许可以帮到你. oj网站有这么多,当然还有其他的.我当初是在hdu上面刷的,不要问我为什么,问就是当时我也是一个新手,懵懵懂懂就刷起来了.点这里可以进入这个网站htt ...

  2. 各种OJ网站,刷题必备

    各种OJ网站 落谷 vijos JoyOI CodeVS Comet OJ 北京大学 浙江大学 杭州电子科技大学 信息学奥赛一本通 以上就是本蒟蒻所知的OJ网站 收集和打字应该值一个赞吧

  3. 各种OJ网站汇总

    acmicpc.info acmicpc.info http://acmicpc.info/archives/224 此网站聚合了各种ICPC相关信息. 国内Online Judge 用户体验极佳的v ...

  4. 几个很好的OJ网站

    很友好的OJ网站(OJ是open judge,在线评测) POJ 北京大学ACM ZOJ 浙江大学ACM WOJ  武汉大学ACM(一个题目提交通过后,可以查看通过该题的所有代码) 唯一不好的地方是题 ...

  5. 经典算法和OJ网站(开发者必备-转)

    一. Online Judge简介: Online Judge系统(简称OJ)是一个在线的判题系统.用户可以在线提交程序多种程序(如C.C++.Pascal)源代码,系统对源代码进行编译和执行,并通过 ...

  6. OJ网站程序员必备

    一. Online Judge简介: Online Judge系统(简称OJ)是一个在线的判题系统.用户可以在线提交程序多种程序(如C.C++.Pascal)源代码,系统对源代码进行编译和执行,并通过 ...

  7. java程序怎么在一个电脑上只启动一次,只开一个进程

    目录 <linux文件锁flock> <NIO文件锁FileLock> <java程序怎么在一个电脑上只启动一次,只开一个进程> 方案1: 单进程程序可以用端口绑定 ...

  8. 编码学习---代码OJ网站

    代码OJ网站: https://leetcode-cn.com/accounts/login/

  9. 简单的自动化使用--使用selenium实现学习通网站的刷慕课程序。注释空格加代码大概200行不到

    简单的自动化使用--使用selenium实现学习通网站的刷慕课程序.注释空格加代码大概200行不到 相见恨晚啊 github地址 环境Python3.6 + pycharm + chrom浏览器 + ...

随机推荐

  1. 【Spring注解驱动开发】如何使用@Value注解为bean的属性赋值,我们一起吊打面试官!

    写在前面 在之前的文章中,我们探讨了如何向Spring的IOC容器中注册bean组件,讲解了有关bean组件的生命周期的知识.今天,我们就来一起聊聊@Value注解的用法. 项目工程源码已经提交到Gi ...

  2. rhel7 编写CMakeList.txt编译运行MySQL官方例子代码

    注:若需要参考rhel7上安装MySQL 请 点击此处 1.下面MySQL链接库版本用到了boost(若需要请到官网下载最新链接库和文档和C++连接数据库操作示例) Red Hat Enterpris ...

  3. python-循环-两种方法实现九九乘法表

    方法一:用最基本的while循环嵌套(基础时,便于理解) while循环的嵌套,先执行里边的,再执行外边的 i = 1 while i <= 9: j = 1 while j <= i: ...

  4. Qt-绘图

    1  简介 参考视频:https://www.bilibili.com/video/BV1XW411x7NU?p=37 参考文档:<Qt教程.docx> 本文简单介绍Qt的绘图与绘图设备. ...

  5. SpringBoot集成Spring Security

    1.Spring Security介绍 Spring security,是一个强大的和高度可定制的身份验证和访问控制框架.它是确保基于Spring的应用程序的标准 --来自官方参考手册 Spring ...

  6. 平常我们是如何区分css中class和id之间有什么区别的?

    我们平常在用DIV+CSS制作html网页页面时,常会用到class 和id来选择调用CSS样式属性.对学习CSS的新手来说class和id可能比较模糊,同时不知道什么时候该用class,什么时候又用 ...

  7. Mybatis源码初探——优雅精良的骨架

    @ 目录 前言 精良的Mybatis骨架 宏观设计 基础支撑 日志 日志的加载 日志的使用 数据源 数据源的创建 池化技术原理 数据结构 获取连接 回收连接 缓存 缓存的实现 CacheKey 反射 ...

  8. UVA11300 Spreading the Wealth 题解

    题目 A Communist regime is trying to redistribute wealth in a village. They have have decided to sit e ...

  9. ELKF-分布式日志收集分析平台搭建 最小化 配置过程 - 查看收集日志(windows10下搭建)

    前言 Elasticsearch是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发的.这三个产品被设计成一个集成解决方案,称为“Elastic Stack” ...

  10. MCU 51-4 独立按键&编码按键

    独立按键: 按键的按下与释放是通过机械触点的闭合与断开来实现的,因机械触点的弹性作用,在闭合与断开的瞬间均有一个抖动的过程,抖动必须清除. 按键按下一次,数码管数值加1: #include<re ...