2019ccpc哈尔滨打铜记
小学生日记:
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哈尔滨打铜记的更多相关文章
- 【AC大牛陈鸿的ACM总结贴】【ID AekdyCoin】人家当初也一样是菜鸟
acm总结帖_By AekdyCoin 各路大牛都在中国大陆的5个赛区结束以后纷纷发出了退役帖,总结帖,或功德圆满,或死不瞑目,而这也许又会造就明年的各种"炸尸"风波.为了考虑在发 ...
- APIO2018 铜滚记
「一旦闭上双眼,就昏昏欲睡」「仿佛与这个世界的联系,被瞬间切断」「可是,负罪感与背德感又会在黑暗中将我吞噬」「即使这样,却也无法与身体的疲惫抗衡」 「如果,这些东西也无法让意识的存在稳定下来的话」「那 ...
- ACM退役记&&回忆录
ACM退役记 2017.9.19星期二,"九一八事变"八十六年后的第二天,永远记住这个日子,刚好是我报名ACM到现在,刚好满一年,而今天正是我注册杭州电子科技大学OJ的时间(就是这 ...
- [日常] NOIWC 2018爆零记
开个坑慢慢更(逃 (然而没准会坑掉?) day 0 大概 $8:30$ 就滚去雅礼了qwq 过去的时候发现并没有人...进报到处楼门的时候还被强行拍照围观了一波OwO 然后就领了HZ所有人的提包和狗牌 ...
- 蓝的成长记——追逐DBA(18):小机上WAS集群故障,由一次更换IP引起
原创作品.出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处.否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...
- 2019CCPC秦皇岛自我反省&部分题解
练了一年半了,第一次打CCPC,险些把队友坑了打铁,最后也是3题危险捡了块铜. 非常水的点双连通,我居然不相信自己去相信板子,唉,结果整来整去,本来半个小时能出的题,整到了3个小时,大失误呀,不然就可 ...
- Spark踩坑记——Spark Streaming+Kafka
[TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...
- Spark踩坑记——数据库(Hbase+Mysql)
[TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...
- 这些年一直记不住的 Java I/O
参考资料 该文中的内容来源于 Oracle 的官方文档.Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以从这个总入口 Java SE 8 Documentati ...
随机推荐
- red note8 pro谷歌套件
谷歌核心Apps(即Google官方应用“全家桶”),包括YouTube,Google Now,Google Play store,Google Play Games,Google Maps等: 基于 ...
- IDEA错误: 找不到或无法加载主类
错误: 找不到或无法加载主类 idea本身缓存问题 解决:清理缓存重启IDEA file-->invalidate Cache/restart 之后再重新build.
- 【转】C#中protected用法详解
https://www.cnblogs.com/wangyt223/archive/2012/08/08/2627801.html 在c#的可访问性级别中,public和private算是最容易理解的 ...
- C#反射与特性(七):自定义特性以及应用
目录 1,属性字段的赋值和读值 2,自定义特性和特性查找 2.1 特性规范和自定义特性 2.2 检索特性 3,设计一个数据验证工具 3.1 定义抽象验证特性类 3.2 实现多个自定义验证特性 3.3 ...
- ArcEngine 数据编辑(IWorkspaceFactory)
数据编辑做过很多次,没怎么出现问题,今天出现了问题,浪费了大半天,记录一下. 问题:修改Featrue的属性,修改后停止编辑,但是没有提示是否保存修改 原因:在编辑数据的时候没有加StartEditO ...
- TensorFlow——学习率衰减的使用方法
在TensorFlow的优化器中, 都要设置学习率.学习率是在精度和速度之间找到一个平衡: 学习率太大,训练的速度会有提升,但是结果的精度不够,而且还可能导致不能收敛出现震荡的情况. 学习率太小,精度 ...
- 快速回顾MySQL:汇总和分组
10.3 汇总数据 我们经常需要汇总数据而不用把它们实际检索处出来,为此MySQL提供了专门的函数.使用这些函数,MySQL查询可用于检索数据,以便分析和报表的生成.这种类型的检索例子有以下几种: 确 ...
- Spring Boot2 系列教程 (十五) | 服务端参数校验之一
估计很多朋友都认为参数校验是客户端的职责,不关服务端的事.其实这是错误的,学过 Web 安全的都知道,客户端的验证只是第一道关卡.它的参数验证并不是安全的,一旦被有心人抓到可乘之机,他就可以有各种方法 ...
- 在ubuntu 18上安装MongoDB
本文介绍 MongoDB Community Edition 在 Ubuntu 下的安装和常见配置方法.文中操作基于 MongoDB Community Edition 4.2.2 和 Ubuntu ...
- Big Event
666DHG的大事记 2019.4.15 \(\text{ }\text{ }\text{ }\)注册洛谷 2019.8.10 \(\text{ }\text{ }\text{ }\)Luogu\(\ ...