51Nod 算法马拉松23 开黑记

惨啊……虽然开了半天黑,但是还是被dalao们踩了……
第二次开黑,还是被卡在rank20了,我好菜啊……= =
写一写比赛经过吧……
看到题之后习惯性都打开,A~D看上去似乎并没有什么思路,F应该是道数论题,看了E感觉有点意思,一看数据范围,咦怎么只有$50000$,再仔细看一看式子,手动分情况讨论之后得到一个结论——
这题是水的线段树维护莫队啊= =
然后就开始码码码,由于一些脑残错误调了一会儿,然后就得到了这样的结果:

我坚信自己莫队的复杂度没错,然后就开始各种王逸松卡常,使用的卡常技巧包括:
开O3和always_inline
加快读快写
加离散化(这不是基本素养嘛喂
把线段树的四个数组写到一个结构体里
函数手动展开(效果还是很不错的
用变量来存储频繁访问的数组元素(就是把询问的端点用变量存起来
以上卡常全加上之后仍然TLE,想起卡常时ztc跟我说的可以用树状数组,就改成了树状数组,这次终于过了(跑得还挺快……)。
(后来想起来,只要把线段树的两次求和改成一次求和再用总的减一下就能把线段树的时间省掉一半,也能卡过去……)
在我调莫队的时候ztc搞出了B的通项($\frac{n(n-1)}{2m}$),然后他对着小伙伴们喊了一嗓子,这题瞬间就被大家踩爆了……
然后机房的小伙伴们一直在cheat A题,在我第一次交E题之前旁边的lrz就把A题cheat掉了,然后他就把代码给了我一份……(论51Nod为什么要求数据不少于15组
与此同时lrd一直在写D题的DP,第二天来的时候搞过去了(虽然他说理论复杂度有$5$亿……),然后又给了我一份,这样就切掉了四道题,但是似乎并没有进前十……
在8:00之前lyc又搞出了C,但是F题并没有太多思路,然后就考试了……
考试之前榜上还有三个没AK的,但是考完试肯定就没机会了,真是心塞……
(我才不想说我推F的式子推了一上午……)
后来考完试再搞F的时候,推出了跟题解一样的式子,但是有一个东西是算素数的$k$次幂之和,感觉没法算,就暂时弃疗了。
第二天下午本来想改考试题的,突然听ztc说素数的$k$次幂之和可以用洲阁筛算,然后去看洲阁的论文,现学了一发洲阁筛(当然只是前半部分),然后就开始码Python(没加优化的暴力),过了两个样例之后就开始翻译成C++,吃完晚饭继续码,然后又调了一会儿,终于得到了这个结果:
Memory Limit Exceeded
没办法,自己全开的记忆化,没有用滚动数组,然后内存就爆炸了……(本地测极限数据差点把我电脑炸崩了……幸亏我及时关掉了= =)
可能我推的还是稍微麻烦了点,用滚动数组的话会非常麻烦,然后就弃疗了。
临走之前ztc写出来了正解,但是极限数据跑了2s,卡了卡常之后答案又错了,经检验发现是杜教筛和洲阁筛的预处理数组开小点之后就会WA,十分玄学,并没有调出来,只能先弃了……马拉松AK之梦至此彻底破灭……
今天下午ztc终于调出来了,然而马拉松早就结束了,并没有什么卵用……
这次的开黑又以失败告终了……还是自己实力不够……
没关系,下次马拉松接着开黑……似乎下次的时间也正好可以在APIO/CTSC的时候打一打防止颓废?
好在rank11~20可以拿到25软妹币(虽然太少没法提现吧),等待ing……
51Nod 算法马拉松23 开黑记的更多相关文章
- 51Nod 算法马拉松22 开黑记
这是一场惨烈的开黑大战,始于全机房开黑指望刷进rank前十拿钱的壮志,终于被各路神犇怒踩成rank20,差点200点头盾不保的落魄,想起将近一年前ad和zcg等学长挤进rank10的壮举,不由得唏嘘, ...
- 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 1815】【算法马拉松 23】调查任务
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1815 tarjan缩点后在DAG上递推即可. 每个点维护所有根到它的路径 ...
- 【51Nod 1756】【算法马拉松 23】谷歌的恐龙
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1765 设答案为\(X\). 则\[X=\frac{m}{n}\times ...
- 51nod算法马拉松 contest7
A题 链接:http://www.51nod.com/contest/problem.html#!problemId=1417 推荐链接:http://blog.csdn.net/a837199685 ...
随机推荐
- GCD介绍:Dispatch_source
[转自:GCD介绍(三): Dispatch Sources] 何为Dispatch Sources 简单来说,dispatch source是一个监视某些类型事件的对象.当这些事件发生时,它自动将一 ...
- VUE 项目dependency was not found: * !!vue-style-loader!css-loader? 解决方案
用npm run dev 运行vue项目时,出现以下错误: ERROR Failed to compile with errors :: This dependency was not found: ...
- Angular Material 按钮图标系列
工做中经常用到Angular Material 中的好多按钮素材,奈何官网经常上不去,所以只能自己把这些常用的按钮扒下来了,留给自己同时也留给大家方便查看. Angular material mat- ...
- [JZOJ6075]【GDOI2019模拟2019.3.20】桥【DP】【线段树】
Description N,M<=100000,S,T<=1e9 Solution 首先可以感受一下,我们把街道看成一行,那么只有给出的2n个点的纵坐标是有用的,于是我们可以将坐标离散化至 ...
- Service层异常处理
1.在service方法里面如果对异常进行了捕获的话,该事务是不会进行回滚的 * 默认spring事务只在发生未被捕获的 runtime excetpion()时才回滚. * * spring aop ...
- python3.6.4没有raw_input
之前是一直在用Python2.7版本,2.7里面raw_input()和input个人认为区别在于raw_input()可以输入字符串和中文,而input()只接受数字,输入字符串就会报错. 现在用的 ...
- Docker 拷贝文件
1.从容器里面拷文件到宿主机? 答:在宿主机里面执行以下命令 docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径 示例: 假设容器名为testtomcat, ...
- media(适配)
媒体类型 1.all 所有媒体 2.braille 盲文触觉设备 3.embossed 盲文打印机 4.print 手持设备 5.projection 打印预览 ...
- Ubuntu14.04下Cloudera安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)(在线或离线)
第一步: Cloudera Manager安装之Cloudera Manager安装前准备(Ubuntu14.04)(一) 第二步: Cloudera Manager安装之时间服务器和时间客户端(Ub ...
- Git学习系列之Git基本操作克隆项目(图文详解)
不多说,直接上干货! 想必,能进来看我写的这篇博文的朋友,肯定是了解过. 比如SVN的操作吧,最常见的是 检出(Check out ...), 更新 (Update ...), 以及 提交(Commi ...