2016.5.8 PKU校赛总结

  必须感谢PKU的包容,使得我这种没有书读的文盲得以参加off-line比赛,十分excited!下面是流水账。

  上个月在群上得知了这个比赛,然后顺便在群上找到了一位高中生队友absi2011,这位同学CF分和我差不多,也是2k出头,不过感觉实际水平应该比我强些。他一再强调自己英语水平烂到无法读题,我表示我可以打辅助读题。。我们试图寻找第三名队友,最后以失败告终,于是注册了一个2人team,队名叫“有趣的队名”。

  5.7(也就是比赛前一天)下午,正好是周末,提前出门跟队友absi2011以及和他一起来京的一位同学(好像叫waltz)见面。我对中学生的竞赛一无所知,他们也不太了解大学生的竞赛,交流了一下,从奥林匹克公园游荡到望京一带,吃了一顿很贵又吃不饱的西餐。。晚上到他们住处打了一会斗地主。。期间,absi2011一直怂恿我打晚上的CF。。

  结果我晚上真的回去打CF了,没做出第三题概率DP滚粗,竟然凭借手速涨了几分。。跟平常有CF的夜晚一样,果然又睡不着了。大概从4点睡到6点半,起床赶往PKU,很困但是只能硬刚了。。

  5.8早晨,从朝阳来到海淀以后,略微清醒了一些,我再次来到PKU计算机系的机房。比赛环境是win7,不得不吐槽键盘和IDE有点辣鸡。。

  开场以后,absi2011表示想抢奇怪题目的FB,我去敲两道签到题A和J,无压力直接1A。然后absi2011表示想到了构造题D的解法,但是需要高精度,纠结了一会我打开了桌面上的eclipse,发现居然不能建java工程,没有自动补全不想裸敲java瞎折腾,只能作罢。我读完了H,发现是矩阵快速幂,和absi2011讨论了一下,他给出了构造矩阵的公式。。然后absi2011决定手撸高精度过D,我继续思考H的各种细节。不久后,D被1A,还是全场第八个过的,其实如果能用java或者rp好点的话,是有概率拿FB的,Orz。。接着我码H,期间卡了一下,换absi2011去码G。G是一个最短路题,好像有点卡常,这题边权不会太大且图不是精心构造的,在我的建议下,他使用了SPFA,由于忘记初始化等等naive的bug,挂了3次后过掉了G。在他敲代码的时候,我已经把H想得很清楚了,然后上去过掉了H。在做这些简单题的时候,我们的ranking保持得不错,一直在10~25之间。

  比赛时间已经过去了一半,剩下的题目开始变得棘手,过得相对多的是一道我死活读不懂的C,和一道神题I。这个I题,叫“PKU Zealots”,打过星际的我一眼看出来意为PKU狂热分子,我严重怀疑出题人旨在建立对PKU的“个人崇拜”。。题目要求在‘#‘和‘.‘组成的矩阵中,识别出来“PKU”三个字符分别有多少个。。。我们同时在思考I和尝试阅读C,对于I,我们脑洞了各种姿势,最后采用了由absi2011提出的一种奇葩方法:‘P’非常好识别,因为中间有围死的区域,识别完‘P’后,把所有‘P’从矩阵中删掉,再去分辨‘K’和‘U’。具体方法是,计算字母像素点的平均坐标,看看平均坐标附近是否属于该字母,如果是识别为‘K’,否则识别为‘U’。。然后absi2011表示太蛋疼不想码,把coding这题的坑推给了我,过了一会我终于敲完了,交上去返回wa。我们只好进行改参数等各种尝试,挂了好几次,最后居然发现又是初始化没做彻底,改掉以后过了I。这时我们非常excited,absi2011还打印了两份AC代码作为纪念,我顿时感到这两年的努力都是值得的,第一次在现场赛过掉AC人数这么少的题(虽然说不需要特别高端的姿势,只需要脑洞)。。

  最后一小时的任务就是去搞那个C了,如果能过,今天就圆满了。自称英语不好的absi2011居然读懂了C,在他的讲解下,我还是不能完全理解。。我怀疑我对这题有认知障碍。。终于他不屑再跟我去讲题意了,自己去推C的状态转移方程,我在一边尝试理解题意。他开始了看起来较为艰苦的coding和debugging,我却帮不上什么忙,在结束前的几分钟,他顶住压力过掉了C,我们队一下上升了好多位,Orzzz。。最后几分钟我象征性地和他讲解B的题意以及我的想法,直到比赛结束。。

  最终我们以7题rank21完美收场(总共368队),对于一个野鸡两人队来说,这是一个非常值得骄傲的ranking!他身上确实有一些我值得学习的地方,比如那些我不会的技巧(在IDE里DEFINE,用gdb花式debug等等),完全没有对模板的依赖,还有那种AC难题的信心和意志。

  话说absi2011的英语应该不像他说的那么不堪,也祝愿他高考取得好成绩,继续自己的竞赛之路。。总之不虚此行!

时间: 2025-01-12 18:11:29

2016.5.8 PKU校赛总结的相关文章

2016 年宁波工程学院第七届ACM校赛题解报告

2016 年宁波工程学院第七届ACM校赛题解报告 本题解代码直接为比赛代码,仅供参考. A,B,C,D,G,H,J,K,L,M 来自 Ticsmtc 同学. F 来自 Gealo 同学. E,I 来自Alex 学长. Promblem A :    Two Sum 时间限制: 1 Sec  内存限制: 64 MB 题目描述: 给出n个数,另外给出?个整数S,判断是否可以从中取出2个数,使得这两个数的和是S. 输入: 第?行有个整数T(1 <= T <= 10),代表数据组数. 对于每组数据,第

2016 华科校赛 B. And

// 2016 华科校赛 B. And http://acm.hust.edu.cn/problem/show/1672 题目描述 给出 a[1], ..., a[n].查询 t[1], ... t[m],问有多少 a[] 的子序列的按位与是 t[]. 输入 多组测试,EOF 结束. n a[] m t[] 1 ≤ n ≤ 1e6 1 ≤ m ≤ (1 << 20) 1 ≤ a[i] ≤ (1 << 20) 1 ≤ t[i] ≤ (1 << 20) 输出 输出一行,每组

2016 SCNUCPC 校赛非官方题解

我要举报本次校赛出题人的消极出题!!! A. 树链剖分数据结构板题 B. The background of water problem 题目大意(大写加粗的水题):给定$N$个学生和他们$K$个科目的成绩$S_i$,再给出各科目$K_i$的权重顺序$Q_i$,求排名之后,拥有id为$X$的是哪个学生. 基本思路:虽然$K$只有$10$,$S$只有$100$,但有M组查询,所以当然不能开个long long去hash每个学生.我们简单点,开个结构体,排个序,就好了. 参考代码: 官方代码(将成绩

PKU2018校赛 H题 Safe Upper Bound

http://poj.openjudge.cn/practice/C18H 题目 算平均数用到公式\[\bar{x}=\frac{x_1+x_2+x_3+\cdots+x_n}{n}\] 但如果用int型计算,那么\(x_1+x_2+x_3+\cdots+x_n\)可能会超过\(2^{31}-1\) 算6个数的平均数可以这么算 Calculate the average of\(x_1,x_2,x_3\)\[\bar{x}_1=\frac{x_1+x_2+x_3}{3}\]Calculate t

CSU 1425 NUDT校赛 I题 Prime Summation

这个题本来有希望在比赛里面出了的 当时也想着用递推 因为后面的数明显是由前面的推过来的 但是在计算的时候 因为判重的问题 ...很无语.我打算用一个tot[i]来存i的总种树,tot[i]+=tot[j]//j为可以由j推到i的一系列数,但这样是不对的,会产生大量重复计算... 看了下标程才发现要用二维来计算出种类总数,f[i][j]+=sum(f[i-j][k]) 表示在推i数的时候,第一个素数为j的种类数,注意j一定为素数,而且k不能大于j...标程里面处理的比较简练,就学了下他的写法. 至

校赛总结

写写校赛总结....... 这两次校赛是我们组队以后第一次的比赛...第一场打得很拙,第二场还可以吧,第一场校赛--毕竟是期待了很久的校赛,所以感觉还是很紧张,吃饭的时候打了二两,剩了一大半==, 这次我们队名叫 I_Love_High_Math......没走到现场,就快下雨了,真的有点郁闷==.到了以后下雨了,和一个队友被困雨中,,出来以后衣服湿了,一开始就悲剧了...     然后一开场就感觉不好.比赛开始的时候,我去写头文件,然后W说A是水题,然后叫我写,平时都是我写第一题的这次我不想开

NYOJ-682 小媛在努力 (郑大第六届校赛 模拟)

链接:click here 题意: 描述 在多媒体数据处理中,数据压缩算法尤为重要.小媛上完课后就想自己发明一个数据压缩算法.她想呀想,终于想到一个方法.在多媒体数据中有很多数据都是重复的,所以她想把连续相同的数据用数据出现的次数和数据本身表示.例如:1 1 1 2 3 3 3 3 3  压缩后及为3 1 1 2 5 3(表示3个1,1个2和5个3).有想法后小媛就希望把它用代码实现了.但是大家都知道小媛现在整天都忙着苦B的复习考研,连电脑都摸不到.所以她希望作为ACMer的你帮她写一下. 输入

HDU多校赛第9场 HDU 4965Fast Matrix Calculation【矩阵运算+数学小知识】

难度上,,,确实,,,不算难 问题是有个矩阵运算的优化 题目是说给个N*K的矩阵A给个K*N的矩阵B(1<=N<=1000 && 1=<K<=6),先把他们乘起来乘为C矩阵,然后算C^(N*N) 相当于 ABABABABABABAB...=(AB)^(N*N) 不如 A(BA)^(N*N-1)B 因为BA乘得K*K的矩阵,K是比较小的 #include <cstdio> #include <cstdlib> #include <cstr

ZJU校赛 一道计数题

题意是这样的 给定一个n*m的整数矩阵 n和m均小于1000 对这个矩阵删去任意行和列后剩余一个矩阵为M{x1,x2,,,,xm;y1,y2,,,,,yn}表示删除任意的M行N列 对于这个剩下的矩阵,我们考虑其中是否存在特殊的元素,保证这些元素是所在行最大,所在列最小的元素 且非之一. 求对于所有删法,上述元素个数之和 对10^9+7取余. 显然所有删法 有2^(n+m)种 暴力是搞不定的. 于是反过来看,矩阵的元素最多有10^6个 是不是可以考虑每一个元素对最终答案的贡献? 所谓贡献,就是它在