回忆

2008.4.17周记

有时候只有实践才能真正懂得。

什么是坚持?什么是毅力?虽然人人都“明白”,但很少有人“懂得”。

2007年5月,我真正的明白并且懂得了一些。

每天十几圈的汗水,几百次跳跃的身影,上千次投球的无奈……

知道2007年5月,当我站在附中(当时我只把它当作一个考试地点,从没想过现在真的来到了这里)1000米跑测试的起点时,这一切的一切又异常深刻地闪现了出来。耳边响起了班主任的话语:“拼尽全力,坚持这最后的4分钟。”我不禁两腿发软。可是这一刻是不可抗拒的,我终于听到了发令枪的响声。

坚持!毅力!我开始跑了。这次我刚出发时的速度比以往都快。我原来的最好成绩为3‘52’‘,而满分只需3’50‘’(四舍五入),我知道这两秒很不容易。

已经一半了,我渐感体力不支,而我周围的人无一不放慢了脚步。听着周围的加油声,我仿佛进入了梦幻世界里。迷迷的,只剩300米了。大部分人都越跑越慢,我感到全身的血液都在沸腾,都在抗议我的暴行。已经看到终点了,我感到我完全控制不了我自己的身体了。前面的几个人开始冲刺,而我实在是筋疲力尽了。最后100米,就剩100米了,我说什么也要加速!因为我跑3‘52’‘时,最后时刻没有用上劲,因此我不能重蹈覆辙,冲——

3‘50‘’。面对这个数字,我笑了。我明白了,我懂得了……

没有人能击败你,除非你自己

2008.3.13周记

“没有人能击败你,除非你自己。”

这句话是对我这段时间历程的总结。

这段时间,无论从学习上,还是从竞赛上,或者是从生活上,我都遇到了挑战。随着学习知识的增多和深入,我的时间和计算机竞赛之间产生了巨大的矛盾。但是,现在看来,其实它们不是对立的,关键是把握好它们之间的关系。时间也不是不够用,而是需要充分利用才行。

特别是经历过“同学退出竞赛”事件(指张)后,我孤军奋战在这里,更是让我感受了许多东西。经理过这些天,我更加坚定了我的信心和决心,也能更好地处理各种各样的关系。

只要自己坚持,向前一路走下去,没有任何事情能阻挡我前进的步伐。

时光

(周记:2007.12.3)

没错,任何人都无法否定,我们无法修改时光——除非向《时间简史》的作者霍金学习时光倒流。

每天,我都在感慨时间的短暂,一转眼,一天过去,再眨眼,明日又逝。没有任何反悔的机会,它也绝不关心你的心情。它,就这样,走了。

我有许多宏伟的计划,可视无法施行;因为我无法得到有效的时间。是这样,我认为——我的时间的大部分是被锁定的!

剩下的时光本来就不多,可每天又有多少白白溜走?时光如水,是的!捧起,不经意间又在无数隙缝中落入黑暗……

作为一个要参加Pascal 竞赛的同学,我的感受很深。每周少上几次晚自习,事情却比别人都多。整天被作业缠身。我只有奋斗,奋起,才能在这场永远无法胜利的战役中占优势。

还能如何?

恩师

老师啊!

一切过去了的,都会成为亲切的怀恋。当一切逝去时,才方知它们的可贵——
老师,我怀念初中时代,怀念母校,怀念您,怀念着您带我们走过的分分秒秒!
忘不了,您心平气和的话语,荡涤了我心灵上的尘泥;
忘不了,您浩荡东风般的叮咛,鼓起我前进的勇气。

天涯海角有尽处,只有师恩无穷期。因为您的一片爱心的灌浇,一番耕耘的辛劳,才会有桃李的绚丽,稻麦的金黄。愿我的谢意化成一束不凋的鲜花,给您的生活带来芬芳。老师,我终生感激您!

忘不了亲爱的老师们!:
冯娟老师,
庞艳丽老师,
宋敏老师,
李学庆老师,
黄晓春老师,
崔延霞老师,
牛素珍老师,
陈素珍老师,
等等等等!

使用C#尝试编写百度之星程序设计大赛的题目(一)

第一题:连续正整数(10分)

题目描述:
一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如:
15=1+2+3+4+5
15=4+5+6
15=7+8
请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。

输入数据:一个正整数,以命令行参数的形式提供给程序。

输出数据:在标准输出上打印出符合题目描述的全部正整数序列,每行一个序列,每个序列都从该序列的最小正整数开始、以从小到大的顺序打印。如果结果有多个序列,按各序列的最小正整数的大小从小到大打印各序列。此外,序列不允许重复,序列内的整数用一个空格分隔。如果没有符合要求的序列,输出“NONE”。
例如,对于15,其输出结果是:
1 2 3 4 5
4 5 6
7 8
对于16,其输出结果是:
NONE
评分标准:
程序输出结果是否正确。

原题:http://hi.baidu.com/astar/blog/item/69570fb35eedeba6d9335ab5.html

我见到的C++优化最好的代码的平均运行时间(若输入10000000)为0.15秒。

我设计的优化C#代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
using System;
 
using System.Text;
 
 
 
namespace test
 
{
 
    public class test
 
    {
 
        static void Main()
 
        {
 
            bool has = false;
 
            Console.Write("Input Int:");
 
            int a;
 
            if (int.TryParse(Console.ReadLine(), out a) && a > 0)
 
            {
 
                int t = Environment.TickCount;
 
                int max = a / 2 + 1;
 
                int s = 0;
 
                StringBuilder str = new StringBuilder ();
 
                for (int i = 1; i < = max; i++)
 
                {
 
                    s = i;
 
                    for (int ii = i + 1; ii <= max; ii++)
 
                    {
 
                        s += ii;
 
                        if (s == a)
 
                        {
 
                            has = true;
 
                            for (int iii = i; iii <= ii; iii++)
 
                            {
 
                                str.Append(iii);
 
                                str.Append(" ");
 
                            }
 
                            str.Append(";rn");
 
                            break;
 
                        }
 
                        if (s > a)
 
                        {
 
                            break;
 
                        }
 
                    }
 
                }
 
                if (!has)
 
                {
 
                    Console.WriteLine("None");
 
                }
 
                t = Environment.TickCount - t;
 
                Console.WriteLine(str);
 
                Console.WriteLine("Time:{0:###.########}", (double)t/1000);
 
                GC.Collect();
 
                Main();
 
            }
 
            else
 
            {
 
                return;
 
            }
 
        }
 
    }
 
}

输入10000000用时0.25秒。说明C#在数值计算上和C++还是有差距的。

[原创 2007-08-24 10:37:43]

1 60 61 62 63 64