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 ...
随机推荐
- IE下判断IE版本的语句...[if lte IE 6]……[endif](用户判断IE版本的如果小于6就显示)
<!--[if lte IE 6]> <![endif]--> IE6及其以下版本可见 <!--[if lte IE 7]> <![endif]--> ...
- 通过UIColor转换为UIImage
+ (UIImage *)createImageWithColor:(UIColor *)color { CGRect rect=CGRectMake(0.0f, 0.0f, 1.0f, 1.0f); ...
- 考试题T3
题意分析 这题一看没有什么思路 幸好我们机房的红太阳\(ghj1222\)切了这道题 首先我们考虑风跑一个来回之后人怎么样 就是跑了一个区间 也就是风跑了若干个来回之后 人跑了若干个区间 所以我们考虑 ...
- P4915 帕秋莉的魔导书
题目链接 题意分析 当前等级为\(x\)的魔法书会对等级在\([x,inf]\)的所有人造成\(y\)的影响 所以除了求平均值之外 就是区间修改区间求和 需要使用动态开点 + 标记永久化 需要注意的是 ...
- (Lua) C++ 加入 Lua 環境擴充應用強度
Lua 在網上有非常多的介紹,就是一個小而巧的語言,可以放入嵌入式系統 也可以在一般的應用上非常強大,這邊主要記錄如何讓Lua加入C++裡頭應用 Lua source code 是以 C 語言下去編寫 ...
- dubbo服务引用与集群容错
服务引用无非就是做了两件事 将spring的schemas标签信息转换bean,然后通过这个bean的信息,连接.订阅zookeeper节点信息创建一个invoker 将invoker的信息创建一个动 ...
- 线段树+单调栈+前缀和--2019icpc南昌网络赛I
线段树+单调栈+前缀和--2019icpc南昌网络赛I Alice has a magic array. She suggests that the value of a interval is eq ...
- 正则表达式 IP域名
不废话,我这个起码不坑人,有的把我坑死 var objRegExp = /^((([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5]))))\.)((([0-9]|([ ...
- Node.js环境搭建&&npm安装
Node.js环境搭建 什么使Node.js呢?我们知道JavaScript开始作为客户端语言,但早已在浏览器端一统江湖,这时,野心越来越大,它就想向服务器端拓展了,于是Node.js就是这样的,我们 ...
- 【Sonarqube】windows下更改Temp文件夹的位置
下载的最新Sonarqube版本(4.5.1),通过StartSonar.bat文件可以启动,但是无法通过StartNTService.bat文件启动,原因为默认的Temp文件不可写入, java.l ...