Vijos 那些年

六年OIer的日子,那无数的回忆,哪怕最终并未取得理想的成绩,都绝对不会忘记,犹如人生游戏的Player Mark将一直相伴走下去,哪怕现在早已和ACM这条路渐行渐远。但而那些年,相伴成长的Vijos同样不会忘记,哪怕他早已经打不开了。

不会忘记的不仅仅只VJ一直伴随着我在OIer之路上的成长,更不会忘记,在VJ上一起学习的伙伴,当然也非常有幸当时能成为VJ站务的一员,能和各种大牛一起为VJ出一份力,虽然一直都没见过面,虽然当时满是无知,犯过很多错。

从来没想过,在VJ关了两年多之后的今年,赶上lk同志来帝都,在VVS大BOSS的组织下,能够和VJ站务相见(虽说今天还是没见到Conan君),唯有感叹不易。

Never give up…

不知道为什么,今天的心情特别不好,但又说不出具体的原因,似乎是各种没什么大不了的事交织在一起。
不知道为什么,最近想到很多事,看到很多事,总会有一些莫名的情感涌上心头,却不知道应该如何去左右,
不经意间,那些一同奋斗的伙伴,那些一起度过的日日夜夜,就如同神奇的印记烙印在心。
又是一年OI时,今天又有那么一群人要奔赴战场,不过,却还要带着一份和往年不一样的心情。
就好像一年一年积累下来的那么多代人的感情和文化,也将要终止一般,也许老板也算是可以放下心,好好去休息了。
我很欣慰,在今年暑假,还能陪伴着兄弟们走过那些已经做了6年的路子,虽然说,我也真没能做什么,
但又有多少人看到那些真正乐于思考的闪光所在,真正热爱着知识的人的点点努力,
其实说今年还能坚持下来的,多少都还是真心喜欢这样的生活,如此的学术,而并非只有功利,而最终结果只是价值实现的评判而已。
看上去很阳光的决定其实一点都不阳光,他把那些真正有能力的人排挤在外,把更多的机会留给了更容易走后门的地方
不管怎么说,日子还是要过,但不论走多远,依旧心心相连
嗯,各位不论清早出征还是下午出征的朋友们,最后再说一声,加油,祝你们好运!
Never Give Up!

Vijos的那些事…

其实VJ关掉很久了,相信不少人也习惯了没有VJ的生活,当然,我也有一段时间没有关注了。今天突然被人问起,怎么说好呢…
个人观点,仅供参考,转载注明出处
关闭原因之技术性问题
去年十月、十一月的多次的Ddos攻击是一切的开端,那段时间国内还有不少OJ也被攻击,所以当时我们除了想着解决CSAPC问题,也没想其他的事了,但问题比想象中的严重。看过之前声明的都注意到了,在攻击之外,还有一个倒置目前没有恢复的“技术性”问题,因为之前被攻击已及多次的系统重装和重新配置也许也是导致这个技术性问题的原因,也不排除其他因素。那么这是一个怎样的问题呢:从某次VJ恢复开始,你会发现他还会时不时中断,有时还会出现IIS错误页面,或者后来你看到经过美化的错误页,一会儿又好了,实际上那段时间我最先留意到这个问题,本来是收工重启IIS程序池就可以恢复,但我发现出现太频繁,于是加入自动定时回收,于是在出现问题的一段时间由于定时的程序池回收使得系统又恢复正常,虽然lk说这样先凑合,但我依然认为这是严重的故障,要联系Conan一起检查问题,可是我们做了不少尝试还是没能解决这个问题,也包括代码版本回退,这就是为什么之前VJ恢复后很多人发现很多功能没了的原因,与次同时,我在本机调试用的VJ镜像使用最新版本的代码运行得一切正常。
如果说本来恢复也可以按原来那么设定容忍技术性问题,但是没想到恢复后的几小时再次遭到严重的网络攻击,当然,几天后Conan尝试把VJ假设到国外的服务器上,虽说成功了,虽说后来地址还被不知道谁泄露了(因此关掉了),但是依然没法解决那个技术性问题。于是不知道Conan出于什么考虑暂时不恢复服务,而恢复时间是未知数。也许恢复时VJ更加强大?我就不知道了。
New core?
这绝对是我今天看到最有趣的了,某站提出要为VJ开发新内核!
为什么这么说呢…因为我和Conan都提出过重写VJ的想法,但后来觉得工程量的问题就停了,当然,当时为了为CSAPC含有大规模输入输出数据这个问题,我还是对VJ的VTS进行了重写,并且效果很好。今天看到某人提出新Core,觉得真的挺有趣,当然,我并不知道它New在哪?谁可以告诉我下?是一个更安全的VJ系统?还是更强大的提交系统?还是原创的VTS系统?
顺便说一句,某些人你别太自以为是,我并不觉得一个四处挑起争端,充满战意,自我中心的人可以带出一个非常有素质的团队。

Vijos声明

Vijos声明
1. 由于“技术性”问题,Vijos无限期停止服务。由此给广大用户带来的不便,我们深表歉意;
2. 个别用户未经授权,擅自存储,发布或传播Vijos相关文件属非法行为,侵犯了Vijos和相关用户的权利,我们保留追究法律责任的权利,请有关网站自行删除相关文件;
3. Vijos无其他镜像或分站,其他标有Vijos的网站与我们无关,请用户自行辨别。对于使用相关网站造成的任何后果,Vijos概不负责。
Vijos管理团队

个人补充:原因是“技术性”的,是目前我们再怎么着急也无法解决的,并不是想当然的搬到其他地方就可以解决的。正如你昨天所看到的,在凑到资金之后,目前我们完整的取回数据,这是可以放心的。
以上信息转载,Vijos团队对上述引用部分内容有最终解释权。
非引用部分是本人个人想法,仅供参考,如果没有必要,本人没有再进一步解释的打算。
请不要随意转载本文,或曲解内容,后果自负。

别总是让我吐槽

也许现在的人都是这样吗?是我把世界看得太干净,还是本来世界就那么肮脏?
最近的吐嘈点实在多,但也越发觉得我越来越语无伦次最重乏于方便自己的想法,因为怎么说都总觉得自己很那啥。
也许一切对我来说都成了过去,包括VJ。但是在离开前还是要把许多事情了解了。我知道VJ关闭那么久给大家造成的困扰,也理解各学校选择VJ这个相当糟糕的系统来架设自己的OJ,也不想对在搞定SEO之后进而再注册类似域名的朋友做出什么评价,因为这都是自由,网络就该是自由的,就该存在竞争,但是今天LK和我说起一件事让我觉得太好笑了。于是拿来和大家分享下,某人用PHP写了一个Linux下开源的OJ系统,然后去找Jiang.sir说我比VJ稳定,我要取代VJ来办CSAPC。Jiang.sir说你还是和VJ那边谈谈吧,于是就引发了这段趣闻,他还问LK,有没有能搞跨VJ的程序代码啊?拿来我网站试试吧。
我第一反应就是站着说话不腰疼,纵然,大家都知道,ASP写的VJ确实架构太古老,Windows做服务器确实存在各类问题,但这并不代表什么,51.LA一直以来也是ASP+MSSQL,他也偶尔出错,但他还是最好用的。我也非常希望以后VJ能跑在LINUX和PHP下,也许这能给人所谓的安全感?但之前也说过了,一个系统是否稳定,不是看上去的,OOJ不也一直在完善中吗?真正决定你是否稳定要压力说得算,当然,这里要撇开被DDOS,如果你天天被人DDOS你再怎么稳定的程序也没用,但是为什么别人要DDOS VJ不DDOS你?每个网站在成长过程都不可能一帆风顺,就算是拿到一堆VC的视频网站门不也一直在饱受煎熬吗?而且问题是随着你壮大而逐渐产生的,并不是一开始就会发现的,我们要做的就是不断修正,以迎接新的挑战,仅此而已,作为OJ是为OIer服务的,如果一味得恶性竞争,PK,那么损失的是OIer不是吗?CSAPC真的只是在那个平台举办那么简单吗?举办方还有很多事要作,需要提早很久就开始准备,当然,也许你看到的只是拿出题目开始比赛的那一刻而已…
于是到此为止,技术方面的吐嘈就不再吐了,吐太多各位看客看着一对术语也觉得烦,下面的事应该不少人听说了:VJ目前已经取回了原先的数据,并且联系好以后的服务器,如果没有出意外,下周就能够正常上线,之后会有管理团队调整的通知。

再见了,OI

恩,OIer这一身份此时已不复存在,一切都已经结束,也没有时间再去考虑更多。
昨晚六点赶到FZU时就应该说是一切的终结,但是今天还是忍不住逛了下OIBH,很多人的BLOG还是引起不少共鸣。但这一切都已过去,都化作回忆,我奋斗过努力过,和朋友们的这些快乐时光绝不会忘记。
花了一个下午收拾房间,书架,一些书舍不得拿去。望着堆在墙角的那些曾经努力的痕迹,依然难以平静。
但路还要走下去,接下来还要更加努力,把挫折化作动力,我一定还能行。虽然OI没能给我多少荣誉,但是让我学会了很多,知识、能力、为人处事,该说再见了,也许,这将会是永别。

USACO/contact

这题难得有感觉,于是就把思路写下来。
因为串只有0和1,所以可以转为二进制来做。
因为有前导0,所以要记录位数。
每读入一位就做一次,而t数组是用来控制长度的。
于是程序如下:

{
ID:smdcnne1
PROG:contact
LANG:PASCAL
}
type _ans=record
x:longint;
s:string;
end;
var tot,i,j,k,l,m,a,b,n,g,last,p:longint;
st:ansistring; ch:char;
x:array[1..12]of longint;
f:array[1..12,0..10000]of longint;
t:array[1..12]of integer;
ans:array[0..50000]of _ans;
procedure qsort(l,r:longint);
var i,j:longint;x:_ans;
begin
i:=l;j:=r;x:=ans[(l+r)shr 1];
repeat
while (ans[i].x>x.x)or
((ans[i].x=x.x)and(length(ans[i].s)length(x.s)))or
((ans[j].x=x.x)and(length(ans[j].s)=length(x.s))and(ans[j].s>x.s))
do dec(j);
if i< =j then begin ans[0]:=ans[i];ans[i]:=ans[j];ans[j]:=ans[0]; inc(i);dec(j); end; until i>=j;
if il then qsort(l,j);
end;
begin
assign(input,'contact.in');
assign(output,'contact.out');
reset(input);rewrite(output);
readln(a,b,n);
st:='';
for i:=a to b do t[i]:=(1 shl (i-1))-1;
read(ch); l:=0;
repeat
if ch in ['0'..'1'] then begin
inc(l);
for i:=a to b do
begin
x[i]:=x[i] and t[i];
x[i]:=x[i]*2+ord(ch)-ord('0');
if l>=i then inc(f[i,x[i]]);
end; end;
read(ch);
until eof;
tot:=0;
for i:=a to b do
begin
for j:=0 to (1 shl i)-1 do
begin
if f[i,j]>0 then
begin
inc(tot);
ans[tot].s:='';
ans[tot].x:=f[i,j];
g:=j;
for k:=1 to i do
begin
if (g and 1)>0 then ans[tot].s:='1'+ans[tot].s else ans[tot].s:='0'+ans[tot].s;
g:=g shr 1;
end;
end;
end;
end;
qsort(1,tot);
i:=1;
repeat
if ans[i].x<>last then
begin
dec(n);
if n>=0 then begin if i>1 then writeln; writeln(ans[i].x);
write(ans[i].s);
last:=ans[i].x; p:=1; end;
end else begin
inc(p);
if p mod 6=1 then begin writeln;write(ans[i].s)end else
write(' ',ans[i].s);
end;
inc(i);
until (n<0)or(i>tot);
writeln;
close(input);close(output);
end.

CSAPC'09报名正式开始!

地址:WWW.CSAPC.ORG
先是解决了数据库在传输中的一些BUG,又遇到和去年一样所有邮箱的SMTP都有发送限制问题,然后微软自带的SMTP有BUG,找了半天,才找到一个WIN下开源的邮件服务器,接着发现邮件一直发送不成功,检查了半天发现QQMail是直接当垃圾退信,GMail在垃圾邮件箱,检查半天也找不到问题,最后猜测和服务器双IP有关,加上有域名和服务器的IP验证,换了好多域名,和测试DNS设置总算解决了。
然后就是替换图片,没有源文件是大问题,经过好几天诸位管理上线有时差的拖延,终于在LK帮助下找到VVS要到了素材,最后发现居然要用Fireworks…对FW不熟于是又窘了好久,好在找到一些便捷选项终于是大概把所有页面都改好,VJ的宣传图整好,于是先如此…然后继续失踪,具体安排安排要等联系上CAR才知道…
这次确实太敢了,但是可以放心的是题目很早就准备好了,质量还是很好,虽然因为保密原因…我也没拿到…orz…
于是大家抓紧报名吧…确实…只剩下几天了…orz…

OI随记

今天是FJOI第二试,虽然本身希望不大,但既然选择,就还是需要努力,虽不算是最后一拼,但第一年走到省选赛场,也是次新的励练。
其实作历界题,对FJOI的命题确实觉得恶心,但今天拿到题目,终于是看起来舒服很多,以往一堆的数学题,今年三题都是状态压缩动态规划,昨天早上,老板让CX作赛前指导,提到搜索找规律这一方法,没想到今天真的派上用场,第三题花半小时写了个非常丑的搜索,虽然n只能算到10,而且没找到规律(想想CX手算N到10就找到规律了),但还是找到一个扩展的方法,时间过去一个小时,按说要换题了,但还是又花办小时写了扩展法的程序,把N扩展到100都能很快出解,但数据N是到一万的,不过数据都列出来便还是找到规律,写了个20行的程序再和之前的程序对拍无误才去作前面的题,按说已经快两个小时了,状态压缩DP第一次写更是写得全身发汗,再看下没时间了,只好补上个搜索。于是虽然败了,但还是挺高兴,于是OI的路算是告一段落,接下来还有很多的事要等待我去作。