小学生日记:

2019.10.13,哈尔滨,打了个铜

开头

先说结论,这次失败,我的锅70%,sdl的锅5%,ykh25%

Day0

周五,
我们队出现了奇怪的厄运上身
首先是我中途在飞机上数据线突然出现在前面座位上,下了飞机发现数据线丢了(
然后ykh的羽绒服被刮掉了一堆毛
后来sdl比赛的时候也一直激动地拉肚子上厕所
本来我是十分反对今天去吃东北菜的,但是还是架不住饿的诱惑,吃了一盆锅包肉

Day1

哈尔滨真的是冷的一笔,我们出发去东北林业大学
学校很大很豪华,风景很美
和女队一起报道完拍了照,就去学校食堂挂机等热身赛了
我队的特色一直是ykh从a读到z,sdl从z读到a,我有代码敲代码,无代码读最短的(毕竟六级没过)
热身赛开始,我先上机敲完了头文件,ykh此时看懂了A题并告诉了我
然后一通操作过掉A题,此时rank40+
这个时候ykh和sdl都在看B,并且好像有哪一句话没有看懂,让我读一遍看看题意
我看了一遍居然直接看懂了并且脑子过了样例,跟队友讲了一遍就上机过了
此时rank大概铜首,问了下队友c题意,我直接说出了算法并且上机
这题细节有点多,我敲代码的时候出了不少问题,队友正在口胡d题
过了样例之后直接交就过了,此时大概rank仍然是40+
然后讨论了一会d题发现不可做,就开始了愉快的吹b时间
此时sdl和我争论c题的出处,我就让他上机测试java以及各种c++奇怪的东西之后自己写一下c体验一下
当然后面没写出来
另外ykh对我说:明天f题肯定是签到,你信不信

打完热身赛,我们站在东北林大门口等车的时候,我说“不知道明天这个时候我们是怎样的一种心情”,大家沉默
后来我们得出了一致结论:无论如何,铜的话太丢人了

Day2

依旧的寒冷,队友早上似乎十分紧张,一直拉肚子
我们刚开始叫的车还在来的路上被人蹭了,司机估计在和人干架,就叫我们取消了订单。。
另外正式赛赛前两分钟,sdl还在厕所里,还好在倒计时前及时回来了。。
正赛开始了,我依然是上机敲头文件,敲完之后队友还在看题
我瞟了一眼,ykh居然在看真的在看F题。。。我就去看了最短的I题,发现题意比较简单就跟ykh互相交换了一下题意,
F题直接就出了算法,我就开始敲F了
敲了一半,队友告诉我I题特变简单,随便特判一下,我就先暂停F过了I题,
然后继续F,因为很久没写状压了,敲完没过样例,叫sdl过来帮我看代码,改了一下初值,就过了
然后看了一下榜,有点懵:I和K绿了一大片,F题没绿多少,我们反向签到了
这个时候让队友赶紧去做K,ykh推了半张纸的公式,被sdl看了一下样例猜了一下公式秒掉了
继续跟榜开F题,虽然还是签到状态,但此时已经是大家一起集火这一题了
我和ykh各出了一些假算法和一些数据,sdl讲了一个我们没人听懂但是能过已知数据的做法
果断(莽)让sdl上机写自己的思路,ykh帮忙解决了许多代码问题(sdl让此处对ykh提出特别表扬),然后交上去1A
此时1h50m,我队4题均1A,但是由于过于求稳,时间比较慢,rank上是银尾
开了E题,我先把这个问题分解了子问题,然后和队友逐个讨论解决子问题的可行性并证明复杂度
发现复杂度大概O(n+k+nlogn),n,k<=1e6,通过昨天热身赛测的评测机感觉能(卡)过,就开始了不归路。。
在ykh的监督下,大概30m敲完代码,过了样例,交上去,T,1300ms/1000ms
这个时候看榜发现没有其他题可以做,果断打印代码和队友一起看
中间上厕所,发现吉老师居然在我旁边(后来每次想到这个画面都会热血澎湃)
我告诉队友,现在有几点可能性:1.复杂度分析有问题 2.代码写的不是这个复杂度
冷静分析后(后来发现并不冷静),我们认为复杂度分析没有问题,就开始一起看我的代码
我们不知道数据有没有跑完,所以先进行了一些卡常
中间经过了漫长的过程。。优化掉了3个O(n),把快读改成了出题人给的快读,交上去后,T,2200ms/1000ms
众人傻眼,这时候ykh认为我的dfs炸了,我让他讲一下为什么,他没有讲明白(我没有听明白),还反向说服了他
封榜后我们感觉nlogn也许根本就过不去?然后我们就构思O(n)的方法:最后求的是出现最多次数的数的出现次数与sum/2的关系
ykh说:求众数
我说:对啊,求众数有一种O(n)的方法,(就是bzoj2456,我和ykh之前讨论过这个问题),扩展一下搞在这个题上不就完事了
后来的事实证明,题解的O(n)算法这个时候其实我们已经出了
因为我还没想好细节,而sdl此时又出了一个我们没听懂的实现,我就让他上机了
sdl在我的代码上改了改,debug之后过了样例,交上去,T,2200ms/1000ms
众人再次傻眼,此时比赛仅剩1m,铜首
赛后大家分析了一下这两份代码,是dfs炸了,但是又没人能解释为什么,因为表面上它没有任何问题:一棵树n个节点,叶子节点上有序列,序列长度的和为k,dfs它的复杂度是 O(n+k)的

Day3

今天晚上,我们拿着比赛的代码开会分析,
分析到了这个dfs后,我让ykh再讲一下当时反驳我dfs的时候,他构造出了一个图:这根本不是一棵树
wdnmd(恍然大悟)
这其实是一个DAG,dfs的时候用dag的方式处理即可

总结

分锅过程如下:
我作为队长,前四题策略出现问题导致罚时较高,作为主代码手没有理性分析E的代码复杂度,队友提出质疑没有特别在意,占锅70%
ykh其实知道这题我们最后差的关键所在,但是队友交流上出现了少许问题,当时没有讲清楚dfs出问题的关键原因,占锅25%
sdl其实不该有锅,但是在我建出树的模型的时候其实该跟他说的,但是他又在厕所。。然后最后改我代码的时候赛后发现了一些bug,勉强占锅5%

可以看出,我队交流上出现了大问题,如果我们三个人是一个人,这题在2h30m的时候就该过了(赛后得知nlogn也可以过),所以并不是硬实力问题(?)
而是队伍训练太少,所以经过合计,我队将加大训练强度

dbq,这次让关注我们的人失望了
勉哉耘其业,以待岁晚收。
下次会继续加油的

2019ccpc哈尔滨打铜记的更多相关文章

  1. 【AC大牛陈鸿的ACM总结贴】【ID AekdyCoin】人家当初也一样是菜鸟

    acm总结帖_By AekdyCoin 各路大牛都在中国大陆的5个赛区结束以后纷纷发出了退役帖,总结帖,或功德圆满,或死不瞑目,而这也许又会造就明年的各种"炸尸"风波.为了考虑在发 ...

  2. APIO2018 铜滚记

    「一旦闭上双眼,就昏昏欲睡」「仿佛与这个世界的联系,被瞬间切断」「可是,负罪感与背德感又会在黑暗中将我吞噬」「即使这样,却也无法与身体的疲惫抗衡」 「如果,这些东西也无法让意识的存在稳定下来的话」「那 ...

  3. ACM退役记&&回忆录

    ACM退役记 2017.9.19星期二,"九一八事变"八十六年后的第二天,永远记住这个日子,刚好是我报名ACM到现在,刚好满一年,而今天正是我注册杭州电子科技大学OJ的时间(就是这 ...

  4. [日常] NOIWC 2018爆零记

    开个坑慢慢更(逃 (然而没准会坑掉?) day 0 大概 $8:30$ 就滚去雅礼了qwq 过去的时候发现并没有人...进报到处楼门的时候还被强行拍照围观了一波OwO 然后就领了HZ所有人的提包和狗牌 ...

  5. 蓝的成长记——追逐DBA(18):小机上WAS集群故障,由一次更换IP引起

    原创作品.出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处.否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...

  6. 2019CCPC秦皇岛自我反省&部分题解

    练了一年半了,第一次打CCPC,险些把队友坑了打铁,最后也是3题危险捡了块铜. 非常水的点双连通,我居然不相信自己去相信板子,唉,结果整来整去,本来半个小时能出的题,整到了3个小时,大失误呀,不然就可 ...

  7. Spark踩坑记——Spark Streaming+Kafka

    [TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...

  8. Spark踩坑记——数据库(Hbase+Mysql)

    [TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...

  9. 这些年一直记不住的 Java I/O

    参考资料 该文中的内容来源于 Oracle 的官方文档.Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以从这个总入口 Java SE 8 Documentati ...

随机推荐

  1. Activity启动过程源码分析(Android 8.0)

    Activity启动过程源码分析 本文来Activity的启动流程,一般我们都是通过startActivity或startActivityForResult来启动目标activity,那么我们就由此出 ...

  2. 从零开始学asyncio(中)

    本篇文章主要是讲解asyncio模块的实现原理. 这个系列还有另外两篇文章: 从零开始学asyncio(上) 从零开始学asyncio(下) 一. asyncio模块简介 asyncio是python ...

  3. ACM北大暑期课培训第六天

    今天讲了DFA,最小生成树以及最短路 DFA(接着昨天讲) 如何高效的构造前缀指针: 步骤为:根据深度一一求出每一个节点的前缀指针.对于当前节点,设他的父节点与他的边上的字符为Ch,如果他的父节点的前 ...

  4. SpringBoot2 整合Nacos组件,环境搭建和入门案例详解

    本文源码:GitHub·点这里 || GitEE·点这里 一.Nacos基础简介 1.概念简介 Nacos 是构建以"服务"为中心的现代应用架构,如微服务范式.云原生范式等服务基础 ...

  5. 【DPDK】【Multiprocess】一个dpdk多进程场景的坑

    [前言] 这是一个隐藏了近3年的问题,理论上只要用到DPDK multiprocess场景的都会遇到这个问题,具体出不出问题只能说是看运气,即使不出问题也仍然是一个风险. [场景] 我先描述一下这个问 ...

  6. Springboot2.1.1下的自定义拦截器而静态资源不能访问的问题

    1.项目结构 2.自定义拦截器 public class LoginHandlerlnterceptor implements HandlerInterceptor { //目标方法执行之前 @Ove ...

  7. Falco 进入 CNCF Incubator 项目 | 云原生生态周报 Vol. 35

    作者 | 王思宇.陈洁.敖小剑 业界要闻 Falco 进入 CNCF Incubator 项目 原于 2018 年 8 月进入 sandbox,旨在 Kubernetes 运行时环境下支持配置规则来加 ...

  8. border 边框

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  9. 8.for循环及练习

    For循环:   虽然所有循环结构都可以用 while 或者 do...while 表示,但Java提供了另一种语句— —for循环,使一些循环结构变的更加简单. for 循环语句是支持迭代的一种通用 ...

  10. MySQL日志及索引

    MySQL物理结构: MySQL它是通过文件系统对数据进行储存和管理,从物理结构上分为日志文件和数据文件 日志文件: 日志文件记录了数据库操作的信息和一些错误信息,我们常用的日志文件有:错误日志.二进 ...