Codeforces Round #545 (Div. 2) 掉分记
Posted xray-luogu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #545 (Div. 2) 掉分记相关的知识,希望对你有一定的参考价值。
每次CF后,我的rating下降,掉分让我悲痛欲绝
——题记
### 前言
这次 CF 时间可谓是极好的,17:05 开始,时长 2h 30min。
4:40 回到家,开电脑。
在看了一会书后,比赛开始了。
### 正文
首先,第一个掉分的 flag 出现了!
卡,卡,卡!
CF 又双叒叕卡了!
1分钟过去了……
2分钟过去了……
3分钟过去了……
Dashboard 一直打不开。。
当时间已经接近 17:10 分的时候,我终于打开了 A 题。。
然而,这还并不是我掉分的所有原因。
先迅速浏览了一遍 A~C 题,然后?
“woc这 B 和 C 是题?”
于是就~~愉快地~~开 A 题去了。
A 题链接:https://codeforces.com/contest/1138/problem/A
先看数据范围,
$ n le 1e5 $,$ O(n) or O(nlogn) $?”
然后莫名想到 $ NOIP2018D1T1 $,心里很恐慌。。
题目大意就是给你一段只含有 1 和 2 的序列,让你求出一段长度为偶数的序列,使其平均分成两段后,每一段只含有一种数字。求序列最长是多少。
先想到的是 $ O(n^3) $ 的暴力,于是就有了对拍的程序。
然后开始大力猜正解:
“欸,设这段序列中最长连续的 1 为 len1,最长连续的 2 为 len2,好像 $ ans = min(len1, len2) imes 2 $!”
三个样例都是这样,于是,在我尚未做出证明的情况下,我便直接打起了代码!
这,就是我掉分的第二个 flag。
劈里啪啦打完代码,测样例,发现一个小错误,改掉,于是就过了三个样例。
SUBMIT CODE->cc->cv->Submit->Wrong answer on pretest 7
心态彻底爆炸
“啥啥啥 WA 了?”
“不会吧,有可能是细节问题,再打一遍”
于是又重新按照思路敲了一遍,过了样例,提交
Wrong answer on pretest 7
?
这是个假算法?
???
看来是假算法了,凉了
此时,比赛已经进行了 43min 了,我一共提交了 2 次,全部 WA #7,也就是说,我已经承担着 1h 的罚时了。
这,是我掉分的第三个 flag。如果我只罚时一次,那我也不会掉分。
无奈之下,我只能用起对拍,随机生成 $ n le 10 $ 的数据,拍 10w 组。
没过一会,我就发现了一组 hack 数据!
input:
7
2 2 2 1 2 1 1 1
答案应为 2,但是我的程序却输出了 6!
hack!
此时我已经大概猜出了正解了,不是什么规律题,直接 $ O(n) $ 模拟!
可是,在慌乱之下,我的键盘不知为何,好像不听我的命令了一样。空格键必须要用很大的劲才可以敲出来。
以上是关于Codeforces Round #545 (Div. 2) 掉分记的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #545 Div. 1自闭记
Codeforces Round #545 (Div. 2) 掉分记
Codeforces Round #545 (Div. 2)D(KMP,最长公共前后缀,贪心)
Codeforces Round #545 (Div. 2)A. Sushi for Two