Posts Tagged ‘USACO’

计划

Monday, February 8th, 2010

NOI 这家伙对我来说有着无穷的吸引力。而今年我唯一能去NOI的机会。所以我必须要进入北京代表队。

我现在的水平在 NOIP 可以说是游刃有余,但拿到 NOI 难度的题目,往往是连想法都没有。所以在关键的3月和4月中,需要质的飞跃。3月需要整体提高水平,主要是通过刷完 USACO。4月我想做一些成套的题目。

完成计划的最好方法就是把她公开。好吧,我十分希望我能完成计划。于是我就把计划从紫皮本(08年忙机器人竞赛那会张镐薪传下来的。。。)搬到 Blog 上面,起到督促自己的作用。

2月10日-2月24日 准备 CCC 比赛。
2月25日-3月20日 USACO 通关(每天3道题左右)。
3月20日前 熟练掌握 GNU Emacs。

嗯。最近尽量减少各种娱乐活动。这不是 NOIP,所以也不能像准备 NOIP 一样欢乐和轻松。另外5月份我是不是找老魏商量商量逃课备战?

/* 本来准备的红警3系列文章因为贯彻落实减少娱乐活动的方针取消了,请见谅。 */

/* 5月17日的 blog post 会是喜还是忧? */

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


下周一回去上课了。

36/44, 这还有一周了

Friday, November 13th, 2009

今天是周五,明天是周六。我们的时间还剩下一周。

过去的一周,参加了若干模拟赛。虽然仍然极度受虐,但已经较一个月前的两位数分增加到三位数了(破百)。

这周高三的几个人加入集训,看到他们在刷USACO,谈论着1.2、1.3,我乐了。咱可是刷到2.4的人啊!刷USACO的那段时间,我还真是收获不小。不过,我不打算再往后刷了。这剩下的一周,看看一些常用的算法,做做经典的题,嗯。然后,坦然地面对复赛。

另:与OIer们分享一句话:“骗分的最高境界就是不骗分。”(来源:我是智障写的《骗分导论》,今天空虚时看了一下)

17.5/44

Monday, October 26th, 2009

今天,初赛的成绩出来了,我们参加的18个人过去了17个(其中8人参加集训、未参加集训的有3个高三)。只有黄轶唯悲情了。于是,明天开始,集训将减少为7人。

还有20多天(已经不是一个月了),我的终极目标是350/400,如今已经安全地迈过了第一道坎。

昨晚参加了Curimit神牛的模拟赛(难度“略”高于NOIP)。刚开始一看,先被吓到了。后来做着做着觉着还可以,最后竟然做出来3道。于是昨晚自我感觉良好。今天上午一看,我一下蒙了,只有可怜的30/400。一道题得了10分,另一道20。

USACO的题倒是刷的挺顺利,现在已经2.3了。

黄轶唯走了,倒也清静了。机房将不再是游戏厅,CS、韦诺、视频将会消失。

再见,黄轶唯。

13/44

Wednesday, October 21st, 2009

初赛的成绩一直还没有下来,不过我的58分没问题。

这几天一直在刷USACO的题,现在一直在第一章徘徊。虽然说第一章真的很水,不过要把程序写出来,也没有那么简单。我曾经写出过极其恶心的代码,比如(你得拖底下的滚动条看):

...
for(m[1] = 0; m[1] <= 3; m[1]++)
{
	for(m[2] = 0; m[2] <= 3; m[2]++)
	{
		for(m[3] = 0; m[3] <= 3; m[3]++)
		{
			for(m[4] = 0; m[4] <= 3; m[4]++)
			{
				for(m[5] = 0; m[5] <= 3; m[5]++)
				{
					for(m[6] = 0; m[6] <= 3; m[6]++)
					{
						for(m[7] = 0; m[7] <= 3; m[7]++)
						{
							for(m[8] = 0; m[8] <= 3; m[8]++)
							{
								for(m[9] = 0; m[9] <= 3; m[9]++)
								{
									if(is_finish(cur_clocks))
									{
										cur_len = 0;
										for(i = 1; i <= 9; i++)
											cur_len += m[i];
										if(cur_len == shortest_len)
										{
											count++;
											j = 0;
											for(i = 1; i <= 9; i++)
											{
												if(m[i] > 0)
												{
													for(k = 1; k <= m[i]; k++)
													{
														j++;
														moves[count][j] = i;
													}
												}
											}
										}
										else if(cur_len < shortest_len)
										{
											count = 1;
											shortest_len = cur_len;
											j = 0;
											for(i = 1; i <= 9; i++)
											{
												if(m[i] > 0)
												{
													for(k = 1; k <= m[i]; k++)
													{
														j++;
														moves[count][j] = i;
													}
												}
											}
										}
									}
									move(cur_clocks, 9);
								}
								move(cur_clocks, 8);
							}
							move(cur_clocks, 7);
						}
						move(cur_clocks, 6);
					}
					move(cur_clocks, 5);
				}
				move(cur_clocks, 4);
			}
			move(cur_clocks, 3);
		}
		move(cur_clocks, 2);
	}
	move(cur_clocks, 1);
}
...

这实在是太糙了……不过USACO数据弱,竟然过了。于是安慰自己,这种题谈不上什么高级的算法,暴力搜索就好,K.I.S.S.嘛,好吧。至少针对水题,用点水方法也不是不行。

Wave已经用上了,可是,没有人跟我一块Wave……于是什么也感受不出来。更杯具的是,咱现在还没法发邀请。嗯,那就先放放吧,等以后大家都用上应该就能感受到威力了。

今天打开Synaptic,瞎翻,发现GNOME Shell就在源里。一阵欣喜,然后安装。现在正在体验,感觉不错,稳定性也挺好。只是因为是早期版本,好多功能还有待完善。但这种形式我个人认为还是不错的。

这几天USACO保持一天一个Section的进度,后天就能昂首挺进第二章了。

水果新出了鼠标,如果未来相关的Linux驱动完善的话,可考虑入手一。