ECNU夏令营记

华东师范大学计算机营游记

7月12日线上宣讲

华师老师自己也说学校的计算机专业小而专,一看全都是ML、CV相关,爬了爬了。。结果听到大数据系统方向是几乎唯一一个涉及到计算机组成、OS、算法的,加上老师、团队成果听起来很牛,让人心动。。

7月13日ECNU OJ机试 & 团队交流

上午机试,虽然难度比BUAA难了不止一点,但是体验却还不错,毕竟总算有点像是个ACM类的比赛了。。(有专门的OJ、及时反馈结果、CSL出题等等。。。)

一共有四题,稍微记录一下:

A

A数据点70分很小,暴力模拟能拿70分的题,写起来也特别简单。。但是我纠结了很久的题意。。甚至还去问答区提问了。。之后考虑了很久发现可能是自己算法考虑的太NAIVE了。。所以觉得题目描述有问题。。

给出n个数字,保证严格单调增,进行q次区间加法,保证每次操作后序列总是严格单调增,每次操作后问是否有$a[i] = i$成立, $n \leq 10^7, q \leq 10^3$

一直naive地认为大概没有负数。。那么一旦某个数达到$i$后再往后就永远不可能符合条件了。。就用了个傻逼set乱搞。。结果WA2。。while1交题debug了一下发现有负数。。

重新考虑后仔细关注了单调增的条件。。使用区间加、单点查的线段树维护所有点的信息,每次询问的时候在1-n上二分,检查是否有值等于下标的即可,复杂度$O(qlog^2n)$。。最开始线段树上维护了每个点的真实值。。一直T后仔细考量发现这样复杂度是$O(nlogn)$的(建树)。。就改为只维护每次的增量,这样复杂度仅有$O(qlogn)$,非常好,顺利通过最后3个点。

B

傻逼贪心题。。开局A题受挫WA2后看了B题2min切了

C

给出$n$个值$a_i$,表示$i$处有高度$a_i$的平台,现在从p点倒s滴水,问最后平衡情况下所有平台的高度,$n \leq 10^3, s \leq 10^6$.

另外有如下规定:

  • 最左和最右有无限高的屏障,水不会流出去
  • 如果某个平台上的水既可以向左流动,又可以向右流动,那么他会均分向左向右
  • 结果如果有小数,使用最简带分数的表示形式输出

很毒瘤啊。。。最开始想暴力模拟,但是一看复杂度$O(ns)$,还可能常数不小。。那么可能就要一批批地灌水。。头就大起来了。。好在一看数据集60%是一个山谷的情况,就写了一发针对山谷骗分的算法。。最后出下来40分,不知道为啥挂了20分。。还挺难受。。

D

NOI1997原题

最开始特别naive地写了个trie…后来发现自己太傻逼了想挫了。。而且虽然样例里没有?,最终答案可能输出?…罢了,直接跑了

比赛结束前交了个样例输出骗了2分就跑了。。

最终242分。。感觉也差不多了。。再给我点时间可能可以C题多想想多骗点分出来、D题多想想说不定就出来了。。不管了。。退役ACM选手半夜还得再复习复习OS计组线代啥的。。

上午机试的时候手机开着热点&摄像机&中目会议,靠着充电宝🐶着10%的电,电脑开着录屏&摄像机&中目会议,还在编译运行我的挫比代码,滚烫。。编译一个程序要tm10s,急死人了。。

下午在系统组和老师进行了交流。。听了很多别的同学的发言。。有些让人忍俊不禁。。偷偷记录一些语录,太好笑了

沙老师:

你是一个好学生,很老实,很好。(憋笑

你有没有女朋友?你为什么没有女朋友,因为你没有信心

学生:

我最大的优点就是比较自信

我有个特点,打过的比赛都能拿到奖

感觉下午的交流各侧重于表达自我,为什么要进系统组。。遇到个金牌选手,还有一两位银牌选手,还遇到个山东科技的常州老乡。。中间我提到我平时都使用linux系统老师进而疑问不可能吧(估计也是知道linux没有腾讯会议)又谈到icpc都是ubuntu系统,只有国内的比赛才是windows。。(看来老师只知icpc名不知其具体内容)还趁机问了我fork懂不懂,好在之前socket编程学过fork。。问了想不想来上海,问了操作系统自我感觉如何,还阐述了ACM比赛和今后系统组要做的工作的区别。。大概还问了许多别的,但是也就感觉是随意交流交流想法,再说已经被之前的同学老师的交流逗乐了,所以倒是蛮轻松的。。。不知道自己的表述能不能打动老师,只知道老师最后交流结束后连说了几个“好!好,好!”,又确认了一下我的名字。。结合前几位同学的交流情况,便可推知老师的好好好含义因人而异,但我想这次的好好好大抵应当还算是个不错的结果。。

7月14日面试

上午面试。。考前看了很久的计算机组成原理,结果就复习到了面试题,针不戳,不然又要战死沙场了。。

先是让我自我介绍一下,中英文都可以,考虑到用中文势必要介绍的井井有条。。就掏出了之前的英文讲稿随意背诵了一下。。

接下来让我阅读一段英文文章并进行翻译,是与软件工程有关的,几乎没有生词,阅读起来总体感觉还行,翻译下来虽然磕磕绊绊的但总体感觉还行。。

接下来随机给了2个问题,一个是解释一下容器和虚拟机,一个是说明一下支持向量机。。。容器老实说自己不知道,虚拟机回答的也很差劲,回答了利用主机的资源等等运行其余的操作系统。。回答的很垃圾。。向量机不知道,因为报的方向是大数据系统方向,不了解ML。。

由于报的大数据系统老师又问了几个组成原理的问题。。一个是Cache的组织结构。。正好考前看了全相连、组相连那几个内容。。Lucky。。说明了一下这几种方式的优缺点。。还问了我L1L2L3级Cache分别使用的什么方式,我不会,只能跟老师说L1要求性能而不过多考虑消耗,所以使用全相连,而L3则相反所以是直接相连。。老师又问了我一遍L3,听他语气后我就改口说L3是组相连,因为确实组相连可能更有道理一些。。随后老师问我了不了解三级Cache。。我老实说没有专门的学过。。只了解大概的概念。。

随后老师问了我想不想来上海,问了家在哪里,问了为什么选择ECNU不选择其余高校(排名不够),问了专业排名和保研率,问了为什么想要选择系统方向(兴趣+能力)。。

总体而言面试的内容很少,比BUAA的要少很多,只问了一部分组成原理的知识,其余的专业课根本不问,感觉上还是十分轻松的。。。