51Nod 算法马拉松22 开黑记
这是一场惨烈的开黑大战,始于全机房开黑指望刷进rank前十拿钱的壮志,终于被各路神犇怒踩成rank20,差点200点头盾不保的落魄,想起将近一年前ad和zcg等学长挤进rank10的壮举,不由得唏嘘,我好菜啊……
作为我方的MVP,我就写写这次开黑大战的经历吧……
星期四的时候51Nod大翻车,本来应该周五开始的比赛不小心设成周四开始了,虽然一分多钟之后就关了,不过我正好把后五题都留着了,就把题面存了起来让全机房一块看(然而并没有人去看……包括我……)。
星期五的时候比赛重新开始,结果开场不久就有人A后几题,看来看见题面的不止我们这几个人啊……决定这次马拉松要开黑,所有人分工去写六道题,最后代码统一交给lrz(毕竟他排名比较高),然后大家就开始去刚自己有思路的题了。
一开始准备刚一下F题,以为是序列自动机的应用,然而画了一会儿之后发现序列自动机是匹配一个串的子串和另一个串的子序列,然后就没思路了,放弃去看别的题。
大概看了一会儿之后锁定在E题上,发现题目要求以出现次数排序,想起来Noip之前自己出的一道题(NT应该见过,每次询问区间中出现次数第k多的数),那道题是以出现次数为关键字维护平衡树,本题可以如法炮制,平衡树启发式合并维护即可。
反正都开黑了,目标是尽一切手段冲rank前十,就没有现写splay,从普通平衡树那儿粘了一个板子(后来发现有一个小地方写挂了,这都能过普通平衡树……),码完250行代码之后开始调,然而没一会儿就该回宿舍了……
在我写E的时候旁边的lrd在搞B题,听说写了个高消求初始方案+SPFA更新答案,然后被一个小点卡住了(其余测试点都是不到31ms过的),二分得出范围是5,然而也没时间打暴搜就回宿舍了……ztc在回宿舍10min之前切掉了A题,拿到了第一滴血,第二天早上来了之后lrz就把代码交上去了。
早上继续调,早饭都没去吃,托lrz给我捎了点吃的……
早饭之后lpx用他的方法把B切掉了,紧接着lrd写了个暴搜把那个点过了,然后lpx就把代码给了lrz,然而只A掉A题和B题的排名是很低的……
我犯的其实都是些比较隐蔽的错误,后来A了很多点但是还是有一半的测试点炸内存了,还有几个点TLE,以为是卡常数+卡指针,后来调了很久才发现是一个地方应该把两个map swap一下,但是我直接赋值了,复杂度不对,并且没把原来的那个删掉,然后就炸内存了……改掉之后又调整了一下内存池大小才勉强2300ms左右飞过(当时机房好几个人都在看我评测,A了之后半个机房都沸腾了……),然而把代码给了lrz之后他只跑了1600+ms……
A掉E题之后lrz瞬间升到了rank10,然而没过很久就被dalao们挤到rank11了,感觉不太妙,就去刚D题,想了大概20min+发现了那个结论,写了一发01-Trie,然而后面的点一直WA,然后发现是求无向完全图生成树计数的部分写错了,正准备手动推式子,lrd喊了一声去查OEIS,然后就带着前几项1,3,16去查了,正好第一个就是……然而英文不太好表示有点怀疑,然后去查百度,在一个CSDN里看见了答案就是$n^{n-2}$,和OEIS一致……把这个部分改了就过掉了,lrz交了之后从rank12升到了rank9……
后来大家都在尝试刚掉C题和F题,然而C题根本一点思路都没有,F题我搞了很久也没思路,被迫弃坑……然而不久就被挤出前十了,并且并没有什么办法补救……
后来,截止到比赛结束的时候,被挤到了rank20,差点连200点头盾都保不住了……

总的贡献是这样的:
ztc:A(40)
lpx&lrd:B(80)
我:D(160)+E(320)=480(装B
这次的开黑经历可谓是惨啊……被神犇们D的好惨……
看来还是需要提升实力,下次马拉松再开黑一次……我的动力就是钱
51Nod 算法马拉松22 开黑记的更多相关文章
- 51Nod 算法马拉松23 开黑记
惨啊……虽然开了半天黑,但是还是被dalao们踩了…… 第二次开黑,还是被卡在rank20了,我好菜啊……= = 写一写比赛经过吧…… 看到题之后习惯性都打开,A~D看上去似乎并没有什么思路,F应该是 ...
- 51NOD 算法马拉松8
题目戳这里:51NOD算法马拉松8 某天晚上kpm在玩OSU!之余让我看一下B题...然后我就被坑进了51Nod... A.还是01串 水题..怎么乱写应该都可以.记个前缀和然后枚举就行了.时间复杂度 ...
- 51nod 算法马拉松 34 Problem D 区间求和2 (FFT加速卷积)
题目链接 51nod 算法马拉松 34 Problem D 在这个题中$2$这个质数比较特殊,所以我们先特判$2$的情况,然后仅考虑大于等于$3$的奇数即可. 首先考虑任意一个点对$(i, j)$ ...
- 随便玩玩系列之一:SPOJ-RNG+51nod 算法马拉松17F+51nod 1034 骨牌覆盖v3
先说说前面的SPOJ-RNG吧,题意就是给n个数,x1,x2,...,xn 每次可以生成[-x1,x1]范围的浮点数,把n次这种操作生成的数之和加起来,为s,求s在[A,B]内的概率 连续形的概率 假 ...
- 51Nod 算法马拉松21(迎新年)
这次打算法马拉松是在星期五的晚上,发挥还算正常(废话,剩下的题都不会= =). 讲讲比赛经过吧. 8:00准时发题,拿到之后第一时间开始读. A配对,看上去像是二分图最大权匹配,一看范围吓傻了,先跳过 ...
- 51Nod 算法马拉松15 记一次悲壮而又开心的骗分比赛
OwO 故事的起源大概是zcg前天发现51Nod晚上有场马拉松,然后他就很开心的过去打了 神奇的故事就开始了: 晚上的时候我当时貌似正在写线段树?然后看见zcg一脸激动告诉我第一题有九个点直接输出B就 ...
- 51nod算法马拉松12
A 第K大区间 不妨考虑二分答案x,则问题转化成计算有多少个区间满足众数出现的次数>=x. 那么这个问题我们使用滑动窗口,枚举右端点,则左端点肯定单调递增,然后维护一个简单的数组就能资瓷添加元素 ...
- 51NOD 算法马拉松12
OTZ做出题目的神犇..断断续续改完了在这里存一下思路吧 A题:第K大区间题意:定义一个区间的值为其众数出现的次数.现给出n个数,求将所有区间的值排序后,第K大的值为多少. 分析:二分答案mid,任务 ...
- 51nod算法马拉松 contest7
A题 链接:http://www.51nod.com/contest/problem.html#!problemId=1417 推荐链接:http://blog.csdn.net/a837199685 ...
随机推荐
- selenium自动加载Flash
当我们在定位的时候,有时候会碰到Flash问题导致无法定位到元素 通过下面的代码就能解决问题 参考:https://blog.csdn.net/qq_37913997/article/details/ ...
- git 常用口令
版本管理 svn git cd d 切换目录 cd www cd git git clone 一个地址 git status 获取修改的内容 git add * 上传修改的内容 git commi ...
- docker 安装sentry
主页:https://sentry.io/welcome/ 环境安装 请先安装 Docker 1.10+ ,使用 CE 版本:安装文档,写的很清晰,不详述:因为国内网络环境问题,一般建议 docker ...
- ZOJ - 3939 The Lucky Week(日期循环节+思维)
Edward, the headmaster of the Marjar University, is very busy every day and always forgets the date. ...
- js toFixed 方法重写,兼容负数
Number.prototype.toFixed = function (s) { var that = this, changenum, index; if (this < 0) { that ...
- CSS中margin属性
css中margin块级元素的垂直相邻外边距会合并,比如 方框的上下外边距并不是2px,而是合并为1px了. 设置float属性就可以避免这种同级元素边距合并
- 远控项目(Windows Socket)
实现内容(屏幕,鼠标,键盘实时控制) 控制端: #pragma once #ifndef keybd_H #define keybd_H #include <stdio.h> #inclu ...
- Android ListView分组显示
ListView的实现方法也是普通的实现方法.只不过在list列表中加入groupkey信息.在渲染的时候要判断是否是分组的标题. 就是在使用不同的两个View的时候存在这种情况,convertVie ...
- Android JPush极光推送应用
JPush纠结了5-6个小时,一直报下面的错误,纠结! [AndroidUtil] AndroidManifest.xml missing required intent filter for Pus ...
- SQL Cookbook—数字、日期
1.计算不包含最大值和最小值的均值2.把字母数字串转换为数值3.更改累计和中的值–显示存款或取款后的值4.加减日.月.年5.计算两个日期之间的天数6.确定两个日期之间的工作日数目表EMP中,计算BLA ...