张开元
编程大神

送走秋叶,迎来冬雪。在课业的间隙中,在冬日的暖阳下,天佑英雄帖与你相约。本期天佑英雄帖我们邀请到了天佑2008班,来自河北石家庄的张开元同学,一位隐藏在我们之间的编程大神。提到C语言,相信很多同学都会同我一样头痛,谈C色变。而张开元同学却是国赛的银牌得主,是什么让他与编程结缘?又是什么使他在枯燥的代码中找到了乐趣?走进第二期天佑英雄帖,答案马上为您揭晓!
在一个慵懒的午后。思源时光里,伴随着舒缓的蓝调,我们见到了张开元同学。不同于印象中“发型凌乱,穿着随意”的码农,张开元同学清爽的形象与自信的微笑吸引了我们的注意力。怀着几分好奇,我们向他问起了有关编程的事情。

01
缘起
Q
是什么时候与编程结缘的呢?
与编程结缘,始于高中。暑期的兴趣培训在我的心中埋下了信息竞赛的种子,而我自己对创造性与规律的追求更是与编程的内在精神不谋而合,于是,在这种追求的浇灌下,兴趣终于开出了美丽的花。
02
夺银
说起张开元同学与编程的故事,夺得国赛银牌无疑是最绚烂的一章。怀着敬佩,我们向他问起了关于竞赛的细节。

图丨icpc小米邀请赛交大参赛选手合照
竞赛大体是分为省赛、省选、联赛,在省队选拔的时候我发挥相当稳定。考试的时候分为两天,第一天上午的时候,三个题四个半小时,我在剩下四分钟的时候,把第二题的八十分都写完了,200多行的程序,调试了两个多小时,最后总分全场第九进入省队。国赛第一天发挥爆炸了,我记得是在19年7月,闷热的广州,最后一个程序的时候在上交之前多写了逗号,真的是很初学者的错误。第二天开始就是逆风翻盘的过程,整体发挥稳定166/300,卡线上了银牌。
03
信仰
坚持编写程序的动力是什么呢?
我觉得喜欢编程的表现和原因在于,不到最后一刻的时候你永远都不知道这个程序会发生什么。你每一时每一刻的状态不应该与你现在的处境相关,可能你现在面对的是一个有很多bug的程序,但你依旧应该永远以饱满的热情去面对所有的挑战。
OI是一种信仰。
04
建议

难得将他请来,我们也抓住这次机会向他询问了给对编程感到吃力的同学的建议。张开元同学从三个方面给了我们回答:
1# 多写多练是最有效的手段
编程是需要技巧性的东西,找到每一个题目的突破口,那一个条件。思考解决这一道题的条件,比如说找零钱这个题目,如果运用三个for循环,会超过时间的限制。那这一道题目的突破口就在于如何减少循环的次数,从而达到优化算法的目的。优化的技巧是需要主动去思考的问题。
2# 多运用语法,才能记住
在初学的阶段要多模仿,找一些规范的程序代码,思考是怎么写的,也可以思考优化的方法,处理技巧方法和减少讨论等等更有深度的问题。
3#学会举一反三 去深度思考处理技巧和算法
我喜欢深度的思考。即使没有时间做,可以多想一想,从题解之中学习。
也可以自己找一找网站和编程题目,推荐一个网站是洛谷(可以查一下放链接),从入门到国赛难度都会有,是国内目前运营的相对最好的编程网站。
05
全面


在与张开元同学的对话中,我们发现,他并不是那种传统的理科男生,还有一种独特的人文情怀萦绕在他的周围。
我希望把自己打造成一个全面的人,也一直对很多事物饱含求知欲,尤其是我感兴趣的点。希望自己,有一个理科的头脑,和一个文科的情怀 做一个有温度的科技工作者,程序没有生命,但是我们的生活应该充满了温度,不然这个世界会很无聊。
让我们感到惊奇,张开元同学对辩论,演讲,写诗,国际象棋,足球,篮球,乒乓球都有所涉猎。而文学与诗,更是对他的生活产生了不小的影响。
是思考与怀旧使他爱上了诗,将经历的有限的事情发挥到最大化,用情感丰富诗的内容,或有感而发,或切磋琢磨,便有了诗意。

在此附上一首张开元同学于成年时送给自己的诗:
既加冠
霜降纪元下人间,降霜此时既加冠。
长安一日春风尽,花城两度燕然山。
空山难为猛虎处,潜水焉得神龙欢。
休将悲喜挂心尖,万里长城第一关。
有趣的时光总是过的很快,不知不觉中,我们的访谈也接近了尾声,最后,我们问起了他对未来的自己的期待,他笑了笑,说:
“头发多一点,bug少一点,睡得好一点”