GithubHelp home page GithubHelp logo

python-noi-oj's Introduction

简介

已经有过很多朋友问过我编程怎么学,所以我思考这个问题的机会很多。我刚开始学编程的时候还是小学,当时是中午开课,老师就是随便给我们讲一下语法或者算法原理,几分钟搞定,然后剩下的时间就让我们做题,不会的去问他。第二天中午会挑一些人的答案讲解一下思路。从小学到高中,我和我身边会编程的人都是这样培训出来的。

到了大学以后,我身边的同学就大部分都是通过学校开课,网课等模式来学编程的了。这时我才惊讶地发现,他们中的一大部分一个学期下来,还不如当年我们那群小学生学几个星期的水平。我想这种差距肯定不是因为我们额外聪明,那只能归功于教育方式了。

因此我一直在努力的劝身边的朋友少看书,多做题,等有充足的积累了再去系统地看书来建立系统。至少从实践来看,被我劝动的朋友确实会学得比坚持看网课的朋友学的好很多。我猜这也不是因为他们的能力差距。

但是这样学习也要面临一些问题,题目从哪来?只有题目没有答案也是一件糟心事。

这就是我创建这个库的初衷——我希望能够给我的朋友们提供习题的参考答案,以及给他们提供一些他们可能没有想到的做法(我很喜欢以前学习编程的时候,第二天看别人程序的环节,即便我会做,其他的做法也往往对我很有启发)。以及尽可能在一边和他们一起做题的同时,一边把我能提供的经验都抖擞出来。

题目来源

NOI OJ[http://noi.openjudge.cn/]

题目来源于CCF发起的,以为全国青少年信息学奥林匹克竞赛(NOI)培养选手提供方便为目的建立的Open Judge(OJ)平台。虽然当时就没有完全完成建设,现在更是年久失修,但是起码基础部分题目质量和启发性还是经得起考验的。所以至今仍然源源不断地有人在入门的时候使用它。

OJ平台使用

Open Judge平台都支持在线做题判题,以本教程采用的NOI OJ为例,登录后可以在每道题右上角的提交栏提交代码,获得判题结果(包括但不限于Accepted,Compile Error,Runtime Error,Presentation Error,Wrong Answer),并可以在统计栏查看具体得分,占用内存,运行速度,代码长度等。一般来说得分是10个测试数据,每个正确给1分,满分10分(有例外)

做题建议

我个人建议如果是出于入门目的,只需要完全完成1.1-1.2,1.3-1.7自行选做大概1/2到1/3,剩下的如果看一眼知道怎么做,就可以看一眼答案然后跳过了。如果更急于速成的话,只需要看到1.5即可。

但与此同时,我诚挚地建议大家点开每一道题的答案看一眼注释(即便你会做),以及看一眼“写在前面”,你当然可以嫌弃他们又臭又长不想看,我只是怕你错过。

另外,虽然我已经在1.1.1里面写清楚了,但是在这里还是提一下,学习编程的要领在于学的时候多写,不会的时候多查,不理解的时候多试。尤其是很多朋友都还没有建立起良好的“查”和“试”的习惯,那你得加油了。

目前进度:完成“写在前面”,基本完成1.1-1.4(但有一些题拿不到满分),1.5已经更新至1.5.17,未来一周要去追金钟奖全程所以打算鸽一会儿。

“但是金钟奖都追完了一个多月了还没有更新是怎么回事呢” “谁说的我明明更新了写在前面!(还有Readme)”

python-noi-oj's People

Contributors

aluminum13 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.