小学生日记:

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. 10.Python中print函数中中逗号和加号的区别

    先看看print中逗号和加号分别打印出来的效果.. 这里以Python3为例 1 print("hello" + "world") helloworld 1 p ...

  2. AcWing 213. 古代猪文 数学知识

    传送门 题目描述: 给定整数n,q,计算 $q^{\sum_{d|n} C_{n}^{d}}$ mod 999911659. 输入格式 输入包括一行,包含两个整数n,q,用一个空格隔开. 输出格式 输 ...

  3. Spring 加定时器

    定时器功能我们一般不常用, 但是一旦用到,那也是非常重要的, 今天我们就讲一下如何简单快速的使用定时器 第一种方法, 使用注解的方式完成定时器 1.在spring-servlet.xml文件中加入ta ...

  4. hadoop配置环境变量

    hadoop安装包解压 tar -xvf hadoop-2.7.7.tar.gz 解压成功ll查看文件 配置环境变量 1. vi  /home/wj/hadoop-2.7.7/etc/hadoop/h ...

  5. 网络、TCP协议与UDP协议

    1.网络模型 (1)什么是网络模型 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机.数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外 ...

  6. Android 平台JS调试技术

    1.  测试技术简介 Android平台微信公众号一般以H5的形式开发,测试发现流量一般都通过js进行加密传输,导致无法对越权.SQL注入等风险点进行测试.针对此难点,本手册会介绍包括Android环 ...

  7. HTTP1.1

    读了一本图解http,总结一下子. 1 .重要的头部   1.TCP/IP 通信传输流 五层模型 先盗个图,重点说明每过一层都会加个头,头很重要啊!其中https 就是在传输层搞事,把本来明文的数据包 ...

  8. C++ 排序引用的优化

    链接:https://www.nowcoder.com/acm/contest/83/B来源:牛客网 题目描述 第一次期中考终于结束啦!沃老师是个语文老师,他在评学生的作文成绩时,给每位学生的分数都是 ...

  9. AD19覆铜与边框间距设置方法

    转载请注明出处,并附带本文网址https://www.cnblogs.com/brianblog/p/9894867.html, 由于高版本AD不能将机械层直接转变为KEPP OUT LAYER层,所 ...

  10. es8对object快速遍历的方法

    let grade = { 'lilei' : 96, 'han' : 99 } //遍历keys console.log(Object.keys(grade)) console.log(Object ...