Posts Tagged ‘NDSOJ’

NDSOJ?

Friday, January 1st, 2010

我想要在2009年为NDSOJ拿出一个可用的基本本地评测系统。于是12月30日,一直Coding到12点多。终于,一个基本的、简易的、不安全的本地评测系统诞生了。已经用A+B问题测试,可以用的。Python写的,有两个文件,core.py和local.py,可以读取题目配置文件。接下来,喘一口气,和曾兴为开始串大保镖的词(为了班级新年联欢会)。

串完了词,我躺在床上,为评测系统的安全问题发愁。这确实很令人恼火。不过,一个新的想法诞生了。这个想法将颠覆NDSOJ,可以巧妙地回避安全问题,可以绕开OJ需要大量评测机的弊端,可以解决OJ离线不能用的缺点。这样,NDSOJ(可能不叫这个名字了)将走上一条充满特色的路。这条路从没有人走过。

透露一下,这个系统用PyGTK开发,对Linux支持最好(据我所知GTK在Mac和Windows下的确不尽人意);充分借鉴了Linux的包管理系统和Ubuntu Software Center;简单易用;首个预览版估计两三个月就能搞定,但也不一定。

另外,名字还没有定,也许是Paek(Pack的谐音)?嗯,这得再想想。总之对这个名字的希望是:1.好记、好听;2.能排在搜索引擎前三名。至于有没有实际的意义,那倒是次要的。

NDSOJ一个月大了

Saturday, December 12th, 2009

这个项目,至少到现在还是很活跃的:),平均每天能commit差不多一次。这个在NOIP复赛前诞生的想法,现在已经有一点成熟的感觉了。体验到这里
这一个月来在11月14日的雏形的基础上新增了这些功能:

  • 用户登录(11月15日)
  • 题目浏览(11月15日)
  • 屏蔽IE(11月16日)
  • ……这周忍住了,没有commit。不要误了竞赛啊,那可得不偿失。
  • 题目搜索(11月24日)
  • 界面大调整,这才像个样子(11月29日)
  • 更换配色方案(11月29日)
  • favicon(12月8日) -> 只是暂时的,将来还要换一个……

顺便发布一下现在定下的时间表:

  • ~2010.1.END 可以提交程序。
  • ~2010.2.END 完成本地评测系统。
  • ~2010.3.END 完成评测系统(包括评测机与服务器的通信)。
  • ~2010.4.END 开始小规模测试
  • ~2010.5.END 筹备服务器及评测机、注册域名
  • ~2010.7.END 对外开放

关于评测系统,通过这几个星期对一些OJ的分析和看书,现在已经有些想法了。

另外,界面上,大家可以提提建议。想要达到的目标是:符合标准、简洁大气、清晰易用、无视IE。

介绍NDSOJ

Sunday, November 22nd, 2009

这是一个在线评测系统,目前也就是个看题系统,尚处于不能用阶段。
看看:http://www.shiyihcc.com/xhacker/NDSOJ/
项目页面:http://code.google.com/p/ndsoj-online-judge/(哈哈,还很空洞)

今年备战NOIP的日子里,Vijos常处于挂掉的状态。不是被黑客弄死了,就是遇到雪灾,总之是十分杯具。于是在一个无聊的上午(经查证为11月14日),我打开了一个无聊的Gedit,吓唬人似的写了一个页面——index.php。没有一丝设计,上面的标题是Gedit里面的一个配色(叫什么我忘了),下面的每一个box都是朴素的灰色。我只是无聊,只是恶搞。可是过了一会,我突然发现这是个好的想法。为什么我们自己就不能弄一个评测系统呢?于是杯具了。其实想法是好的,可是我认为在备战的时候有这个想法是错误的——它浪费(可能也不能叫浪费)了我太多的时间。看看这里吧,我14日到17日一直在努力改善它。要知道这可是……竞赛前最紧张的几天啊。所幸之后我清醒了一点。

但总之有一点不容置疑,那几天的努力已经让NDSOJ成为了一个可用的“看题”平台了。不过,最重要的“评测”部分现在还没有。不过,面包总会有的,只是时间问题。我已经决定把NDSOJ做下去了。

于是,今年之内除了评测的部分外应该是都能完工,寒假完事后全面OK。接下来的一段时间,它将作为十一学校的御用评测系统。直到我们有更多的服务器和评测机。之后就是对外开放。

那么,说来说去,这个OJ和别的有什么不一样呢?其实,我是想做一个“Online judge for human beings”。从界面就可以看出来,虽然丝毫没有经过设计,但它绝对是比其他的评测系统要方便的。在提交方式上,采用了文件提交的方法,也是为了最大限度的方便大家的操作。输入输出采用文件输入输出。另外,我们想把通过率这个东西去掉,还有就是开放数据。最后,这个评测系统是开放源代码的,你去Google Code就可以全部clone下来。

……说了半天,也有可能是空话,就看我是三分钟热度,还是真要做这么一个东西吧。不过有一点可以肯定,如果(注意,是如果)做出来了,那一定是中国最好的评测系统,没有之一。

44/44 = 1.

Saturday, November 21st, 2009

44天的集训在今天宣告结束。

在路上。

在路上。

咱学校参加NOIP的队伍,最左边是强哥。

咱学校参加NOIP的队伍,最左边是强哥。

一进八十中的教学楼,一股牛味扑面而来,熙熙攘攘的就是参加NOIP的各种牛。我们在414教室。

教学楼内牛味十足。

教学楼内牛味十足。

我的准考证。

我的准考证。

可爱的展板。

可爱的展板。

楼道。

楼道。

八十中的考试环境还可以,机子速度也还算挺快(256MB内存)。用的是NOI Linux,上面有Vim/Emacs,可惜我都不会用,眼睁睁瞧着世界上最好的两个编辑器叹息(有时间一定要征服一个)。我只会用朴素的Gedit,上面有我喜欢的Oblivion配色。于是,就他了,GUIDE滚一边去。考题加密压缩在一个包里,许多人解不开,于是我unzip xxx.zip,然后输密码,pdf就出来了。周围的还都在忙活呢。

适应适应很令我无奈的软趴趴的键盘,我就开始写程序了。第一道水题刷完后一个小时已经过去。第二道完事后还剩一小时二十分钟。看看第三题和第四题,第三题看起来是一道图论的,第四题是数独(于是我的第一反应,“深搜”!)。于是想都不用想,先做掉第四题再说。果然深搜,做完后还剩20分钟。这是传来了悦耳的声音:“延长20分钟。”我有点激动了,于是先出去上了趟厕所,权当是清醒一下头脑。然后,开始考虑第三题。看了一会,发现是传说中的Floyd。于是开刷。不过由于数据较变态,这题看来只能得最多撑死40分了(我用的邻接矩阵)。
考完后,我们一聊起来,发现今年没考动态规划。一想,确实没考,真实神奇。就在昨天晚上,孙韵佳(女,高三大牛,去年一等奖)还在跟我说:“动态规划学好了,NOIP就不惧了。”我一直也是这么想的。
总的来说,这回考的虽然不能说十分满意,但至少我觉得发挥了水平,没有特别遗憾的地方。我知足了。
关于分数,我估计最多280/400,大概也就250左右(没准更糟糕)。不过总之,大约20分钟之后就知道了。那是的心情会是高兴?还是?不过,管他呢,反正我算是考完了。

不管这回结果怎样,我已经和喷壶(胡颖健)说好了,以后每周日刷USACO,争取早日通关。另外,接下来的时间里,我还将致力于NDSOJ的开发(这个……我可能过几天会发篇post详细介绍一下)。

另外昨天有人想看NOI Linux的模样,那就发一下吧。个人十分鄙视NOI Linux,它让许许多多参加OI的同学对Linux产生了极其不良的第一印象,而这些人最可能成为中国计算机行业未来的牛人。顺便再发两张Chrome OS的截图(第二张是Google放出的)。

NOI_Linux_boot
NOI_Linux_login
NOI_Linux_Guide
chromeos_login
Chrome_OS_screenshot

最后,我要做的是感谢。首先感谢马强老师,还有一起集训的十几个弟兄。另外,就是陪伴我44天的Ubuntu、Gedit、Geany……为了报答Geany这个优秀的IDE,你们在Geany和Geany-plugins的下个版本就能看到完美的中文翻译了。

最后发几张原来的照片,回味整个NOIP 2009。

照片_100909_002
照片_101709_002
照片_101309_001
照片_110409_001
照片_111309_001


下周一回去上课了。