读书人

将要大三了做个总结

发布时间: 2012-08-25 10:06:20 作者: rapoo

就要大三了,做个总结。
呵呵,开学就大三了。转眼上了两年大学,混了两年日子了。

记得小学一年级,学校居然教我们basic语言,logo语言。。。真疯狂,啥也没学会。。比较直接地后果是妈妈帮我买了小霸王学习机(理所当然地成了游戏机。。)。
中考考的很差。。郁郁寡欢, 为了逃避同学们去旅游的邀请。。。给自己找个理由,我就去报了C二级培训班。。当初还想。。怎么C没有一级呢。。。然后怕学不会。负责的老师说:没事滴。。会打字就会。我那时玩了3年网游。。打字速度还是很有自信地,就参加了。
哎。。那真是一个很有意思的经历。大家(重点大学的学生除外)心理都明白,现在大学里10个人有8个是混日子的。。。当时那个班也是。。大部分是为了考级而突击的学生,经常旷课,而我是没有任何负担地参加,从来不旷课,然后居然就比那些哥哥姐姐们学得好很多。想来真是运气了,呵呵。当时用的编译器还是蓝色背景的TC,从调目录开始,老师很耐心地教,上两小时课,就上机两小时。知识得到了充分的实践。(我觉得大学里C的教育有问题。。都是上课和上机分开安排的。等上机的时候都不记得上课内容了。。。)每次上机都非常有意思,老师能够根据我掌握的水平给我出题目,甚至在结束以后留题目给我。有时候上课,我就在本子上写代码,上机的时候来实现。有时候回家路上想老师的题目,回到家也迫不及待地敲到电脑上。。就这样,15天过去了,指针之前的C内容对当时的我来说非常有意思。但是学完也就完了。
直到高二,学校有NOIP的比赛,就报了名。很幸运地通过了初试,然后以倒数前几名的成绩和其他牛人们(其中有一个是我们省的数学状元- -)去柳州参加复赛- -。。。复赛那个难啊。。再加上我完全是以玩玩的心态去的,那时候连printf都不记得怎么写。。。所以最后完美地得了个0分。不过现在想想还是觉得复赛的题目不容易。
我一会把复赛题目贴上来给大家看看~~~~
时间在接下来过得很快,因为高三实在太充实了。
转眼到了大学。。。大一学C语言。。对我来说相当于复习。不过这又是一个很好的机会,我把初三的时候一些很不好的习惯改正了,如代码不缩进,乱起名字等。。。然后对指针等概念有了比较清晰的认识。看着同学们被指针、数组等概念弄得一头雾水,我也仿佛看到了3年前的自己,呵呵。从那时候起,我就很清楚地认识到,我喜欢写代码,不管别人说程序员是IT民工,或者没有前途什么的话,我不在乎。只要能够从事一份自己喜欢的工作,并且能拿到足以养活自己和家人的薪水,对我来说就已经是很幸福的了。
然后由于我们专业(电子信息科学与技术)比较偏向硬件。。大二一年都没有和电脑有关的课程。我只好混迹于各论坛,狂下载一些教程,帖子,精华合集。。。不过基本没看。当时没有意识到这个问题,只是看着硬盘里充斥着各种教程,心理很充实。
到了大二,突然意识到,自己到现在为止,除了C略懂,其他啥也不会。。。开始着急了。耐着性子慢慢磨一些技术。。。经常去看雪看软件破解的东西。然后看看K&R的C。。。看看别人一些程序的代码。然后自己也不断地在写代码。。虽然那时候总觉得自己没啥提高,但是后来回头发现,其实还是有进步的,学会了写贪食蛇,又根据贪食蛇的技术写俄罗斯方块。。印象最深的是有一次在学校澡堂,突然想到写一个立方体旋转的代码,很兴奋,澡也洗得马虎,回到宿舍就开始码代码,谁也不理。。同学还以为我受什么刺激了。总之我认为。。只要你自己不断去写,就一定会有进步的。
高二参加NOIP比赛,认识了一个很牛的同学。。他一直和我保持联系。。由于有他,我在进步地同时,也有了努力的方向,不至于产生骄傲自大的情绪。他每次跟我聊天,都会让我很无语。。因为从他那我看到太多太多我所不知道的东西。。比如K&R风格的函数写法等。。。
随着学习的深入,上学期我就开始看一些汇编,windows编程,还有学了点C++。但是进步都不大。
总之就是这学一点。。那学一点。后来我发现,自己其实是很烦躁的。不能静下心来好好学习。每次上网都玩QQ游戏。我觉得这样对自己是不行的。我做了一个决定:我要戒网!
网络对我来说,虽然可以提供很多有用的信息,但是也提供了很多诱惑。我知道我不是一个自制力强的人,我把网卡卸了。我对自己说,电脑里已经有了足够让我学习的资源了。
戒网真的很难受,每次开了电脑,会觉得很没事干。。但是我必须习惯这种空虚感,并且要逐渐用学习来替代它。后来我每次觉得空虚了,就拿书跑到自习室去看。就算是没有心情也强迫自己去。把每天晚上写代码的时间作为奖励和放松留给自己(这个过程遭受很多嘲笑,讥讽,但是我一直都是很无所谓的。。。如果各位也有此打算,套用一句胡主席的话:要把困难想得充分点)。
这样磨着,竟然也把C++除了模板类以外的东西看了一遍,汇编方面把寄存器都记下来了,也能破解一些最最简单的crackme了。。。这个学期收获是不小的。

暑假到来之后,我在家开始接触topcoder。写了大概20个topcoder 的题目,发现了一个很严重的问题。
我不会算法!

虽然学校有上过一点点算法(作为数据结构的补充),但首先我没掌握好,其次,实在太少了,没有系统性。
感觉现在似乎技术已经到达这么一个瓶颈了。我和我的一个朋友说,只要我自己能在脑里走得通,我都能用程序表达出来。或者说我已经开始用计算机的方式在思考解决问题的方法。但是,我经常对topcoder的问题无从下手,没有任何思路。写出来的程序也是错漏百出,经常有数据测试错误。我买了算法导论,准备自己看。但是我估计我是看不下去的。。因为数学基础不好。。。

说了那么多,就是希望和各位分享一下自己的经历。如果你现在走在我当年的路上,希望我能帮助你少走弯路。如果我现在走在你当年的路上,请指点迷津,我很渴望能够快点成长起来,尤其是突然看到了自己和别人的差距,那些参加ACM的大学生们,我一直在仰望。。。回头看看自己,其实也就会点C,不完全的C++,其他啥也不会,更不用说什么算法,软件工程了。

PS:如果你愿意和我交流,请加入我的QQ群,号码是90898215。非常欢迎~!

附:NOIP题目:

第十一届全国青少年奥林匹克信息学联赛复赛提高组试题

(提高组 三小时完成)

谁拿了最多奖学金
(scholar.pas/c/cpp)

【问题描述】
某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同:

1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;
2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;
3) 成绩优秀奖,每人2000元,期末平均成绩高于90分(>90)的学生均可获得;
4) 西部奖学金,每人1000元,期末平均成绩高于85分(>85)的西部省份学生均可获得;
5) 班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;

只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。

现在给出若干学生的相关数据,请计算哪些同学获得的奖金总数最高(假设总有同学能满足获得奖学金的条件)。

【输入文件】

输入文件scholar.in的第一行是一个整数N(1 <= N <= 100),表示学生的总数。接下来的N行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);期末平均成绩和班级评议成绩都是0到100之间的整数(包括0和100);是否是学生干部和是否是西部省份学生分别用一个字符表示,Y表示是,N表示不是;发表的论文数是0到10的整数(包括0和10)。每两个相邻数据项之间用一个空格分隔。

【输出文件】

输出文件scholar.out包括三行,第一行是获得最多奖金的学生的姓名,第二行是这名学生获得的奖金总数。如果有两位或两位以上的学生获得的奖金最多,输出他们之中在输入文件中出现最早的学生的姓名。第三行是这N个学生获得的奖学金的总数。

【样例输入】


4
YaoLin 87 82 Y N 0
ChenRuiyi 88 78 N Y 1
LiXin 92 88 N N 0
ZhangQin 83 87 Y N 1

【样例输出】

ChenRuiyi
9000
28700

过河
(river.pas/c/cpp)

【问题描述】

在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是S到T之间的任意正整数(包括S,T)。当青蛙跳到或跳过坐标为L的点时,就算青蛙已经跳出了独木桥。
题目给出独木桥的长度L,青蛙跳跃的距离范围S,T,桥上石子的位置。你的任务是确定青蛙要想过河,最少需要踩到的石子数。

【输入文件】

输入文件river.in的第一行有一个正整数L(1 <= L <= 109),表示独木桥的长度。第二行有三个正整数S,T,M,分别表示青蛙一次跳跃的最小距离,最大距离,及桥上石子的个数,其中1 <= S <= T <= 10,1 <= M <= 100。第三行有M个不同的正整数分别表示这M个石子在数轴上的位置(数据保证桥的起点和终点处没有石子)。所有相邻的整数之间用一个空格隔开。

【输出文件】

输出文件river.out只包括一个整数,表示青蛙过河最少需要踩到的石子数。

【样例输入】

10
2 3 5
2 3 5 6 7

【样例输出】

2

【数据规模】

对于30%的数据,L <= 10000;



作者:3616450852006-8-25 08:00 回复此发言

--------------------------------------------

2 #####noip2005提高组复赛试题#####
对于全部的数据,L <= 109。
篝火晚会
(fire.pas/c/cpp)

【问题描述】

佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了“小教官”。在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会。一共有n个同学,编号从1到n。一开始,同学们按照1,2,……,n的顺序坐成一圈,而实际上每个人都有两个最希望相邻的同学。如何下命令调整同学的次序,形成新的一个圈,使之符合同学们的意愿,成为摆在佳佳面前的一大难题。
佳佳可向同学们下达命令,每一个命令的形式如下:
(b1, b2,... bm -1, bm)
这里m的值是由佳佳决定的,每次命令m的值都可以不同。这个命令的作用是移动编号是b1,b2,…… bm 1,bm的这m个同学的位置。要求b1换到b2的位置上,b2换到b3的位置上,……,要求bm换到b1的位置上。
执行每个命令都需要一些代价。我们假定如果一个命令要移动m个人的位置,那么这个命令的代价就是m。我们需要佳佳用最少的总代价实现同学们的意愿,你能帮助佳佳吗?

【输入文件】

输入文件fire.in的第一行是一个整数n(3 <= n <= 50000),表示一共有n个同学。其后n行每行包括两个不同的正整数,以一个空格隔开,分别表示编号是1的同学最希望相邻的两个同学的编号,编号是2的同学最希望相邻的两个同学的编号,……,编号是n的同学最希望相邻的两个同学的编号。

【输出文件】

输出文件fire.out包括一行,这一行只包含一个整数,为最小的总代价。如果无论怎么调整都不能符合每个同学的愿望,则输出-1。

【样例输入】

4
3 4
4 3
1 2
1 2

【样例输出】

2

【数据规模】

对于30%的数据,n <= 1000;
对于全部的数据,n <= 50000。

等价表达式
(equal.pas/c/cpp)

【问题描述】

明明进了中学之后,学到了代数表达式。有一天,他碰到一个很麻烦的选择题。这个题目的题干中首先给出了一个代数表达式,然后列出了若干选项,每个选项也是一个代数表达式,题目的要求是判断选项中哪些代数表达式是和题干中的表达式等价的。
这个题目手算很麻烦,因为明明对计算机编程很感兴趣,所以他想是不是可以用计算机来解决这个问题。假设你是明明,能完成这个任务吗?

这个选择题中的每个表达式都满足下面的性质:
1. 表达式只可能包含一个变量‘a’。
2. 表达式中出现的数都是正整数,而且都小于10000。
3. 表达式中可以包括四种运算‘+’(加),‘-’(减),‘*’(乘),‘^’(乘幂),以及小括号‘(’,‘)’。小括号的优先级最高,其次是‘^’,然后是‘*’,最后是‘+’和‘-’。‘+’和‘-’的优先级是相同的。相同优先级的运算从左到右进行。(注意:运算符‘+’,‘-’,‘*’,‘^’以及小括号‘(’,‘)’都是英文字符)
4. 幂指数只可能是1到10之间的正整数(包括1和10)。
5. 表达式内部,头部或者尾部都可能有一些多余的空格。
下面是一些合理的表达式的例子:
((a^1) ^ 2)^3,a*a+a-a,((a+a)),9999+(a-a)*a,1 + (a -1)^3,1^10^9……

【输入文件】

输入文件equal.in的第一行给出的是题干中的表达式。第二行是一个整数n(2 <= n <= 26),表示选项的个数。后面n行,每行包括一个选项中的表达式。这n个选项的标号分别是A,B,C,D……
输入中的表达式的长度都不超过50个字符,而且保证选项中总有表达式和题干中的表达式是等价的。

【输出文件】

输出文件equal.out包括一行,这一行包括一系列选项的标号,表示哪些选项是和题干中的表达式等价的。选项的标号按照字母顺序排列,而且之间没有空格。



【样例输入】

( a + 1) ^2
3
(a-1)^2+4*a
a + 1+ a
a^2 + 2 * a * 1 + 1^2 + 10 -10 +a -a

【样例输出】

AC

【数据规模】

对于30%的数据,表达式中只可能出现两种运算符‘+’和‘-’;
对于其它的数据,四种运算符‘+’,‘-’,‘*’,‘^’在表达式中都可能出现。

对于全部的数据,表达式中都可能出现小括号‘(’和‘)’。




[解决办法]
sf
[解决办法]
祝福ACMer
[解决办法]
楼主,加油。。
[解决办法]
呵呵,题目我当年做过
作为练习
其实那一届的题目是简单的
我觉得第一题是水题,送分的
可惜那年我没参加
我参加了下一届的
你去那届的题目
比你说的那届难多了
[解决办法]
想当年我也参加过啊,也大三了,看来的确要努力了
[解决办法]
呵呵 你更应该做个规划
[解决办法]
加油
[解决办法]
加油
[解决办法]
加油!感觉我们的轨迹还有点像,呵呵~~~
[解决办法]
唉,荒废前两年了。想着一夜dota的激情,怎么当时就没用在程序设计上呢?
[解决办法]
恩,加油,未来很美好啊,哈哈
[解决办法]
楼主加油啊~

读书人网 >C++

热点推荐