赵子琦,计算机学院2018级计算机科学与技术专业本科生。曾获国家奖学金、陈赓奖学金、一等奖学金4次、校级三好学生等荣誉。曾获国家级竞赛获奖4项,省级竞赛获奖12项。
“投身计算机技术科研,助力国家人工智能革命。通过代码,让世界更美好。”这是计算机学院2018级学生赵子琦的目标,也是他不懈追求的动力。
为了实现梦想,赵子琦坚持每日刻苦训练,2年间累计提交代码30余万行。截至2021年1月,赵子琦已累计荣获ACM/ICPC国际大学生程序设计竞赛、全国软件和信息技术专业人才大赛等国家级奖项8项、省级奖项7项。
拼搏超越,从高中落魄Oler到TopAcmer
在别人眼中枯燥乏味的代码符号,在赵子琦眼中就像跳动的音符,每串音符都能创造美好。高中时,赵子琦便开始自学C++和数据结构,通过编写代码实现小球滚动、自动编写简易小游戏,用代码实现心中的想法,赵子琦既新奇又着迷。
一次偶然的机会,赵子琦了解到中学生五大联赛之一的信息学竞赛(NOI),这个竞赛的难度最大,相比其他学科竞赛,该项赛事报名的人数很少,几乎无人问津。“面对挑战,勇于拼搏,才能实现梦想。”源于对编程的热爱,赵子琦勇敢报名,成为全校第一个“敢吃螃蟹的人”。信息学竞赛总分600分,赵子琦仅取得了160分,全国一万名选手中,排名四千多。那一次的成绩并不理想,但赵子琦却满载收获,比赛中胜出者的解题方法,开拓了他的思路;五花八门的代码题目,开阔了他的视野;面对困难、勇于探索,磨炼了意志,增加了勇气……“我很享受通过分析问题本质、尝试各种方法、寻找结题思路、通过代码解决难题的成就感。”
高中时期的比赛经历,在赵子琦心中埋下了一颗种子,高考时毫不犹豫地选择计算机科学技术专业。欲望以提升热忱,毅力以磨平高山。进入大学后,赵子琦不甘心高中时的那次失利,除了扎实学好专业课知识,同时开始了“魔鬼般”的训练。大一时期,赵子琦的世界里只有代码,他将闲暇时间几乎都投入到算法学习中。白天看书学理论、学方法,晚上便登录Codeforces网站进行实践操作。“晚上无论什么时间醒来都能看见他在书桌前聚精会神地敲击键盘。”在室友俞文轩的眼中,赵子琦就是学习“狂人”。
Codeforces是全球最著名的在线评测系统之一,许多高水平选手通过该平台相互交流切磋,夜间经常能看到赵子琦在网站上提交代码的记录,三年间,他提交了近一万次代码,远超平台中同龄人一倍。寒暑假,赵子琦参加包含清华大学、北京大学、复旦大学、浙江大学等众多高校在内的算法集训营和联合训练赛,每隔几天就有与正式比赛同等质量、难度的比赛。以赛促练,赵子琦的技术更加熟练,大赛经验更加丰富。
几年间,赵子琦学会了AC自动机、快速傅里叶变换、莫比乌斯反演等多种算法,他的两个Codeforces账号均达到最高等级,全球达到该等级的仅两千余人。
永不言败,从大学生程序设计省赛到“ICPC”国赛
在赵子琦的不懈努力下,他的编写代码能力不断精进,大一下学期便进入ACM校队,他将目标瞄准最具影响力的大学生计算机竞赛——ACM/ICPC国际大学生程序设计竞赛。
2019年3月,赵子琦第一次组队参加黑龙江省大学生程序设计竞赛,由于缺乏正式比赛的经验,赛前准备不足,赛场上心态不稳,致使团队只拿到了第二名的成绩。虽与冠军失之交臂,但赵子琦却通过这场比赛逐步找到了团队作战的感觉,为今后的大赛做足了准备。
2019年11月,赵子琦带领团队一路过关斩将,入围“第44届ACM-ICPC国际大学生程序设计竞赛”亚洲区域赛(上海站)决赛。ACM-ICPC的特点在于题量大、难度高,每队需要在5小时内完成7道或以上的题目。一支队伍3名队员却只有1台电脑,使得时间显得更为紧张。因此除了扎实的专业水平,良好的团队协作和心理素质同样是获胜的关键。当时比赛进行4个小时的时候,团队仅完成3道题,压力非常大,气氛特别紧张。团队的每个人几乎都屏住呼吸,努力寻求解题的思路和方法,在完成第6题的时候,距离比赛结束仅剩10分钟,“一串串代码、一个个算法在脑海里快速地闪回,当时满脑子的代码,差的就是那个瞬间的突破。”就在紧急关卡,赵子琦凭借多年苦练积累的经验和扎实的编写代码功底,终于找到了题目的最优解,于是赶快抢下电脑,迅速敲击键盘,千钧一发之际,他沉着应战,随着计时器归零,测评机运行正确,“赢了!”赵子琦激动地与队友相互击掌、拥抱,整个团队都激动地喊了出来。那一次,赵子琦带领团队获得了二等奖,为学校赢得荣誉。
“扎实的理论基础、大量的算法练习、丰富的实战经验、团队协调与配合、跳跃式的思维训练……”赵子琦通过比赛总结出他参赛的经验,并坚持训练,一年间他的程序设计水平也不断精进,编写速度较之前提高1倍,在专业领域是及其不易的。“不懈的努力可以弥补天赋的不足,我的目标是成为算法竞赛的顶尖选手。”在随后的2020年12月举办的国际大学生程序设计竞赛(亚洲区)中,在众多诸如清华、北大等的高校强队中,赵子琦带领团队一路过关斩将,最终夺得该赛事的金牌。
共同成长,从无尽摸索到编写代码“引路人”
大学三年,赵子琦的专业课平均分保持在92分以上,排名稳居专业前十。“每天高强度的编程训练,怎样才能平衡学习与训练的时间?”周围的很多人都有类似的疑问。赵子琦从不将编程训练当做学习的负担和压力,在他看来编写代码是世界上最美好的事,将计算机语言赋予人的逻辑思维、通过方法和手段,让计算机能够根据人的指令一步一步去工作,完成某种特定的任务,实现目标、甚至改变世界,让世界变得更美好。这是人机交互的过程,也是社会进步的标志。将编程思维应用到日常,赵子琦将学习、生活也打理的井井有条,学习、训练两不误。
赵子琦在计算机学院科技创新协会副部长,他经常利用自己的特长开展计算机算法培训,为学弟学妹们答疑解惑。“计算机编程是很难进入的一项学习,因为前期会很枯燥,很难坚持,我从那时一路走来,特别理解初学者的迷茫,希望通过我的努力,能够让学弟学妹见到代码世界的美好。”
从初次接触代码难寻方向,到和众多高水平选手同台竞技;从首次组队经验不足,到参加国际赛事勇夺金牌;从对代码世界的探索,到将方法经验不断传承,丰富的是经验、提升的是能力、不变的是初心。“通过学习算法、编写代码,实现机器智能化,助力国家引领以AI技术为主导的第四次工业革命,让世界更美好。”赵子琦距离他的梦想越来越近。
撰文/王璐瑶、赵琳琳