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 ...
随机推荐
- Oracle递归查询(start with)
写代码时碰到要弄清楚Oracle的role之间的传递关系,就是有role A的话,可以通过grant A to B,把A赋予给B,又通过grant B to C .那我想知道所有role中,有哪些ro ...
- leetcode-849-到最近的人的最大距离
题目描述: 在一排座位( seats)中,1 代表有人坐在座位上,0 代表座位上是空的. 至少有一个空座位,且至少有一人坐在座位上. 亚历克斯希望坐在一个能够使他与离他最近的人之间的距离达到最大化的座 ...
- C# ListView用法详解 很完整
一.ListView类 1.常用的基本属性: (1)FullRowSelect:设置是否行选择模式.(默认为false) 提示:只有在Details视图该属性才有意义. (2) GridLines:设 ...
- 5、Tensorflow基础(三)神经元函数及优化方法
1.激活函数 激活函数(activation function)运行时激活神经网络中某一部分神经元,将激活信息向后传入下一层的神经网络.神经网络之所以能解决非线性问题(如语音.图像识别),本质上就是激 ...
- 除法保留小数bit位 + 四舍五入
/*num1/num2 保留bit 位小数 , 四舍五入*/ #include<bits/stdc++.h> using namespace std; ]; int main() { in ...
- [转] HBase异常:hbase-default.xml file seems to be for an old version of HBase
[From] https://blog.yoodb.com/yoodb/article/detail/157 使用HBase Java Client连接HBase服务端创建Configuration对 ...
- [转] String to Date conversion in hive - 在 Hive 中各种字符串转换成日期格式
[From] http://bigdataprogrammers.com/string-date-conversion-hive/ Please refer below table to conver ...
- dubbo集群容错之LoadBalance
原文地址:Dubbo 源码分析 - 集群容错之 LoadBalance dubbo 提供了4种负载均衡实现,分别是基于权重随机算法的 RandomLoadBalance.基于最少活跃调用数算法的 Le ...
- FindLine把多行查找改为多行替换
Sub FindLine() Dim textSelection As TextSelection textSelection = DTE.ActiveDocument.Selection textS ...
- mono for android 第四课--提示框(转)
其实在VS中开发安卓代码和C#还是有一些相似性,刚开始我也不知道怎么弹出提示框,于是就百度了下,再加上个人的小聪明得到一下结果 builder.setTitle表示提示框的标题. setMessage ...