[USACO]comehome

Nov 06 2010

虽然之前已经用floyd写过,不过今天还是用dij写一遍……

题目描述

接着就是红果果的dij啦

http://fayaa.com/code/view/14861/

没用堆写……

提交了两遍,第一次错在布尔表达式,害我查了很久= =||,是不亚于写老K时将并查集合并写错的沙茶行为了,下次写if的判断一定要给每个分条件加上括号啊……

话说我发现我上次交的代码给人家拿去抄了……额,原来他的第二是这样刷来的= =||

--------------------------------------分割---------------------------------

今天和Ylen聊了一会,果然是早学的孩子早当家啊,获益匪浅。挺羡慕他们的。

No responses yet

NOIp?No rp?No chance!

Nov 06 2010

小小谈下最近的生活……

这次不说泡妞砸了(确切说是被无视了),不说考试傻了(期中考又要裸考了),不说家里的情况(不知道不知道,我真的什么都不知道),就说说现在NOIp的水平吧。

一个字:烂。

做USACO,基本是看着题解来翻译;

刷水题,基本是N wa,1AC;

参加模拟赛,基本找虐,次次不是爆零就是一道都写不出;

看算法,基本傻了,到现在都还没有写过最短路 sssp(我的Dij啊,我的SPFA啊!)。

还有15天就复赛了……

最近在“加班加点”地看资料,在机房里看,在下课看,连晚修也在看。不止一次地有同学在围观,然后说:

“你太恐怖了,看什么东西?”

“我看见这些就头晕了…… :P

每次遇到这样的对白,我都只好无奈地告诉ta,其实“我也不会,我不过是装逼,哈哈。”

可是到现在想想,我又是有多少是掌握的呢?不知道,一年的学习的确会了不少东西,但是这条路却只是一个开头,似乎是一条通向高山的长路。

想想当初是怎么开始学习OI的?不过是看见一张报名纸,能够提供一台电脑,一节课给我,所以就报了。结果呢,结果就开始了OI的旅途。

在这个旅途上,一开始还是有伴的,几个高二(现在高三了),几个高一的,结果呢,他们都退出了,就剩下我每天坚持中午和第八节课机房;

一开始还是有老师的,每个星期一节课,结果呢,结果老师跑了,说:“到了这个地步,你自己看书做题就可以的了。”叫我情何以堪?我才学到动态规划啊!

不过这也没什么好埋怨的,我的条件已经比许多人要好了,NOIp贴吧里总有几个高三的在发悲情贴,说从高三才开始学,怎么怎么痛苦。

然而最可怕的敌人是孤独。

第一次那么坚持地学习一样东西,却是要孤独地在原野上奔跑。这种孤独注定是不被别人理解的,我不想去一次次地向别人阐述我在干什么,可是总是有人用其他眼光来看我:

“你不用学习啦,搞这个就行。”

每每听到这样的话,我的肾上腺素总会激增,想和ta大谈我的目标。可是渐渐明白,这样的抗东篱把酒黄昏后议其实不过是徒劳的,宁愿安安静静建造自己的梦。

在前几个星期准备初赛的时候,我总是在想,如果这次初赛挂了,就实在是太丢人了,学了一年,还经常在班主任面前强调自己,却在初赛就挂了,该怎样下台啊?突然间OI变成一个重重的担子。

然后就在初赛的那天,出发前的午休,突然觉得担子轻了,挂了就挂了,大不了就“退役”了,我还想学python,学js,玩GAE呢……

事与愿违?

结果还是顺利地挂 过了初赛。

正如USACO Chapter2的标题:Bigger Challenges。面前就是更大的挑战了。

最近一段时间迷信上了rp,或许这两天的状态低迷是因为rp 低吧,可是又能说明什么?

不知道,我就只知道,现在已经没有任何退路了,一路前进吧。

No responses yet

校运会@2010

Oct 30 2010

喜欢这样蓝蓝的天,

喜欢这样无尽的跑道,

喜欢一大群朋友聚在一起,一起欢笑,

喜欢这样的五班.

No responses yet

[USACO]Overfencing

Oct 30 2010

题目描述一个先:

有两个关键点:

将整个平面图看作一个图,然后再将栏杆标记为不能走就ok了

两次bfs来做flood fill?不用的,将两个起点直接放到队列里就可以了(不就是两次bfs么= =||),不过这样做可以减少很多代码量

代码

下面是令我傻了3天的地方:

procedure flood_fill;
var
        i:integer;
        temp:node;
begin
        while front<tail do
          begin
                  front:=front+1;
                  for i:=1 to 4 do
                    begin
                            temp:=queue[front];
                            inc(temp[1],d[i,1]);
                            inc(temp[2],d[i,2]);
                            if (fence[temp[1],temp[2]])and(not visited[temp[1],temp[2]]) then
                              begin
                                      inc(tail);
                                      queue[tail]:=temp;
                                      count[tail]:=count[front]+1;
                                      visited[temp[1],temp[2]]:=true;
                              end;
                    end;
          end;
end;
procedure flood_fill;
var
        i:integer;
        temp:node;
begin
        while front<=tail do
          begin
                  front:=front+1;
                  for i:=1 to 4 do
                    begin
                            temp:=queue[front];
                            inc(temp[1],d[i,1]);
                            inc(temp[2],d[i,2]);
                            if (fence[temp[1],temp[2]])and(not visited[temp[1],temp[2]]) then
                              begin
                                      inc(tail);
                                      queue[tail]:=temp;
                                      count[tail]:=count[front]+1;
                                      visited[temp[1],temp[2]]:=true;
                              end;
                    end;
          end;
end;

仔细观察这两个代码的不同点......

对了,就是跳出while的条件不同,因为我将front置为0,然后在每次提取队首时再inc(front),这样和置为1看似没什么不同,但是却出现了很大的问题:

后一段代码会爆掉的...

就因为这里调了我两天.orz,细节很重要!看来有必要去复习下模版了.

顺带鄙视下一些水人......现在真是越来越水了.

离复赛还有21天

No responses yet

初赛归来

Oct 29 2010

46 李理华 江门市第一中学 C 78
28 何柏超 江门市第一中学 PASCAL 69
63 莫嘉明 新会第一中学 C 66
20 陈汶铎 台山一中 PASCAL 56
59 关洪斌 新会第一中学 C 50.5
56 冯贤乐 新会第一中学 C 50
62 龙泉 新会第一中学 C 49.5
43 王一同 开侨中学 C++ 48.5
2 颜裕丰 台山一中 PASCAL 46.5
51 徐伟钊 新会第一中学 C 46
60 薛钊鸿 新会第一中学 C 46

希望复赛有好成绩!

谢谢薛老师,黄老师,梁老师

还有谢谢5班的同学,谢谢花花,谢谢四人小组

最后特别感谢下赵同学强人,哈哈

No responses yet

最近的生活

Oct 24 2010

这里简单总结说说最近几个星期的生活情况,orz

0.上星期初赛了

1.初赛成绩64.5(待确定),省分数线是42

2.开始准备复赛了

3.生物差点挂科,语文差点挂科,化学居然有70+(娟姐的0.7难度系数,算是合格,哈哈)

4.向粽子表白,被无视

5.努力复习文化科

6.准备校运会......的键子项目,被Miss Q忽略

7.教师节爱心方程被隔壁班拿去当班服图案

8.宿舍准备弄挑战书

9."我不希望未来某个日子见到我喜欢的人时候......"这句话火了,已经被拍录像留念

10.USACO做到2.3

11.模拟赛一再被东篱把酒黄昏后

12.回到gnome

13.1 把qq好友都删除了

13.2 赵同学主动加回我,原因是: 列表里不见了我

14. 讨厌回家程度*2

15. 认识了一些省外的朋友

16. 准备期中考试

17. 开始单词化日记

18. 开始有很多想法

19. 开始讨厌srl上的语文课

20. 在学口琴,被业余的老师命令要考试

这是总结么......

最近真的遇到很多牛人啊,努力吧~真的要实践那句被录像的话,不过能不能遇到喜欢的人呢?很难说,最近已经过得够呛的了,不想再去想有关爱情的事.

睡觉去,感谢台风带来一个平静的双休.

No responses yet

[USACO]Cow Pedigrees

Oct 24 2010

嗯,好久没写过题解了啊...

题目描述一个先

首先我们定义:

  • f[i,j]为i个结点,深度最大为j取得的树的数目

接着来一个证明:

  • 对于每一棵度只为0或2的二叉树(完全二叉),结点总数肯定为奇数

证明如下:

  • 令 n0表示度为0的结点,即叶子
  • 令n1表示度为1的结点,显然在二叉树里为0
  • 令n2表示度为2的结点,显然在二叉树里有: n2+1=n0
  • 则结点总数n=n0+n1+n2=2*n0+1,显然n为奇数
  • 得证

然后我们可以将一棵二叉树分为3部分:根,左儿子,右儿子,

设共有n个结点,根有1个,左儿子有i个,则右儿子有n-i-1个,

则可以得到这棵有n个结点,k层深的二叉树有f[i,k-1]*f[n-i-1,k-1]个结点,(乘法原理)

再配合加法原理可以得知:

  • f[n,k]=Σ{f[i,k-1],f[n-i-1,k-1]|1≤i≤n-2 and i and 1=1}

接着得到边界条件:

  • f[1,k]=1

最后答案就是

  • f[n,k]-f[n,k-1] (注意<0)

为什么要这么减?看看f的定义是什么?

http://fayaa.com/code/view/14560/

真是一道好题目额~DP状态太多太神奇了......基本在2.3的题目都是靠看题解来想状态,很难做到独立构思一个完整的出来.

还有26天复赛了.

No responses yet

研究性学习-有关导师教学制的研究-完成版

Oct 16 2010

第一个研究课题终于完成啦!

现在放出论文和网页.

欢迎来围观我们小组的成果

感谢JMYZ,感谢各位组员的努力,优秀课题什么的是浮云啦,玩得开心就好!

No responses yet

NOIp2010 初赛

Oct 16 2010

上路了.

No responses yet

要来了

Oct 09 2010

要来的总要来,希望自己的努力不要白费吧,还有7天~顺便吸rp~

No responses yet

Older »