ACM/ICPC EC-FINAL小结

EC-FINAL是2015年度最后一次ACM区域赛了,这次总共有288个队参加比赛。命题还是Google。

正式赛赛题

这次出生点在强队中间,右后方就是本次冠军,唯一的9A,陈立杰的华莱士队,左边是北航的7A,正后方是浙大,右边是广大。
热身赛题目是Google一次网试的笔试题。A题Dynamic Grid,直接暴力模拟。B题IP Summarization,要求是给出若干个IP以及他们的掩码,要求输出合并的Normalize之后的所有IP,Google给的思路就是建一颗二叉树。实际做的时候发现这道题要注意一点就是你要先排序,考虑子网和合并的情况。C题Virtual Rabbit,讲的是一个人只能在[W,H)和[B,G)时间段内喂兔子,兔子在X秒内不被喂食就会死去,问喂食的最少次数。
正式赛还是比较有难度的。水题是ADLM。A题Boxes and Balls,据说是一个初中数学题,找最大的m,使得m(m+1)/2 < N,解方程的时候用double可能会出精度问题,没清WA了一次,其实也可以用二分去做。M题November 11th,电影院里面Singles不能坐在相邻的座位,且有B个坏椅子的坐标,求最多最少可以坐多少个单身狗。这里要注意只要两个人中间隔两个就不能坐人了,一开始想成了一个。结果是模3有规律,直接硬算找规律。然后就是坑爹的D题,题目的意思是你有A块钱,不过是整的,你现在要买一个自动售货机换得零钱然后去付另外的B块钱,问你最少需要在自动售货机上面卖多少钱东西,其中A,B∈{0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,20,50,100}。又看到样例T<=78的时候笑了,这个不就是打表嘛,总共78个样例,于是我们在纸上手算了半天,但是到最后还是没有A出来,出来之后才知道,可以在自动售货机上面买若干次。至于L题,讲的是有一个无限大的乘法表,现在给定一个由数字和问号(相当于未知)矩阵,问这个矩阵有没有可能是这个大的乘法表的一部分。这道题目思路就是只要矩阵中知道两个数,那么我们就可以把整个矩阵的所有值解出来,这样我们就可以一一确定剩下来的值是否符合我们已经确定了的矩阵了。但是我们忽略了一种情况,就是如果只有一个数的话,这个矩阵不一定存在,比如1这个数,他只能出现在第一行的第一列,如果有这样的一个矩阵:

1
2
3
? ? ?
? 1 ?
? ? ?

那它肯定不是乘法表的一部分,因此我们少一步分解因数,检查每一个数字是否能够出现在这个乘法表中的过程。

感受

  1. 上海大学宝山校区好荒啊,我们住在蓝波万酒店感觉名字好屌啊,走到学校好远啊。然而宾馆只有一张大床一张小床,我和良哥阿洁哥一起睡的,纪存哥阿涛和清恒拼在一起睡得,结果他们晚上被阿涛各种挤。
  2. 晚上吃了羊蝎子火锅超级逗,一盆饭6块钱,一盘豆芽菜1块钱,阿涛点了六盘豆芽菜,然后大家最后实际上就是在吃豆芽菜
  3. 宾馆里面有电脑!于是热身赛晚上张老师让我们写一写热身赛的题目,于是我们只好装做在电脑上写,但是阿涛一直给女票盈盈买衣服,张老师来了也不停,超级逗笔。