原文链接 https://www.cnblogs.com/zhouzhendong/p/CF1071.html

赛前:

呀,这个 Round # 必须打啊。

于是临时改变注意决定打这一场。用小号打。

比赛快要开始了:

F5 一下。woc 怎么咕了 5分钟。

比赛开始了:

呀,这个 A 我怎么觉得比之前的几个 A 难啊。

想必是有简单做法的。

好吧原来是sb题。

呼呼呼呼敲完代码过了样例,测了一下1e9 的大数据发现挂了。

连忙改对,心想这总不会fst了吧。

交一发pp哈哈。

连忙开 B 。

发现是水题。

急忙开写。

呼呼呼呼写完了,交一发 wa4 。

瞪着屏幕 10 分钟发现有细节挂了。

改完一交 pp 了,心想这总不会 fst 了吧。

急忙开 C 。

20 分钟过去了,我发现题目看错了……

然后很快就找到了消除单个1 的方法:

1000000

0001001

0001110

0000000

然后想着什么按照 1 的个数大于和小于 n*2/3 来分讨,

然后算了一下不存在同时消除 3 个 1 的方案时,最多有 n*2/3 个 1 (就是 1-1/2+1/4-1/8+...)

很开心,觉得快想到正解了。

于是20分钟过去了,毫无进展。

然后突然发现只要让边界收缩的速率 >=3 就好了。

假设区间 [L,R] 是有 1 的,

如果 a[L]=0 ,那么显然可以 L++

如果 a[R]=0 ,那么同理 R--

如果 a[L]=1,a[L+1]=0 ,那么直接取最左边的那一个和第二靠左的那一个以及对应的右边一个就好了。

如果 a[R]=1,a[R-1]=0 ,那么类似。

如果 a[L]=a[L+1]=a[L+2]=1 或者 a[R-2]=a[R-1]=a[R]=1 ,那么直接消除连续三个就好了。

那么剩下一种棘手的情况:

a[L]=a[L+1]=1,a[L+2]=0,a[R]=a[R-1]=1,a[R-2]=0。

由于我太菜了,想了10多分钟,才发现可以直接把左右两对用两次消除,这样再加上a[L+2]和a[R-2] 是 0 ,效率刚好是 3 。

然后发现要来不及了。

这个真是毒瘤大分讨啊。细节怎么这么多。

赶紧写啊写。

100多行写完刚过编译,cf就显示比赛结束了……

赛后:

然后又花了几分钟过了样例……

刚要吐槽一波,又手造了一组数据萎掉了。

想必是哪里写萎了。

嗯不管了。

去水一水qq

水完回来看看榜

这 A 怎么这么多人 fst 了

正在为他们默哀之时,等等,我去哪了?

……

还好,黄名还保的住。

然后我突然看到了这个:

不禁倒吸一口凉气。

后来——

我看到了它——

成功达成成就:

在一场codeforces contest 里面全部题目fst

呵呵

呵呵

呵呵

呵呵

呵呵

呵呵

呵呵

可怕,我是不是该退游一些日子了。

还好是小号。

Codeforces Round #517 体验记的更多相关文章

  1. Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2)

    Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) #include <bits/stdc++ ...

  2. Codeforces Round #517 Div. 1翻车记

    A:真的懵逼了.冷静了半天之后决定二分一下答案,然后先a安排上尽量小的再贪心地一个个扩大.40min才过.这个做法非常怂的以代码复杂度和时间复杂度为代价换取了比较稳的正确性,事实上由于1~n可以组合出 ...

  3. Educational Codeforces Round 17 颓废记

    又被虐了... (记一次惨痛的Codeforces) 好不容易登上去了Codeforces,22:35准时开打 第一题,一看:这不SB题嘛?直接枚举因数上啊.9min才过掉了pretest 第二题.. ...

  4. CF Educational Codeforces Round 57划水记

    因为是unrated于是就叫划水记了,而且本场也就用了1h左右. A.B:划水去了,没做 C:大水题,根据初三课本中圆的知识,可以把角度化成弧长,而这是正多边形,所以又可以化成边数,于是假设读入为a, ...

  5. Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) D. Minimum path

    http://codeforces.com/contest/1072/problem/D bfs 走1步的最佳状态 -> 走2步的最佳状态 -> …… #include <bits/ ...

  6. Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) D. Minimum path(字典序)

    https://codeforces.com/contest/1072/problem/D 题意 给你一个n*n充满小写字母的矩阵,你可以更改任意k个格子的字符,然后输出字典序最小的从[1,1]到[n ...

  7. Codeforces Round #517 (Div. 2) C. Cram Time(思维+贪心)

    https://codeforces.com/contest/1065 题意 给你a,b,让你找尽量多的自然数,使得他们的和<=a,<=b,用在a和b的自然数不能重复 思路 假如只有一个数 ...

  8. Codeforces Round #517 (Div. 2)(1~n的分配)

    题:https://codeforces.com/contest/1072/problem/C 思路:首先找到最大的x,使得x*(x+1)/2 <= a+b 那么一定存在一种分割使得 a1 &l ...

  9. Codeforces Round #517 Div. 2/Div. 1

    \(n\)天没更博了,因为被膜你赛的毒瘤题虐哭了... 既然打了这次CF还是纪念一下. 看看NOIP之前,接下来几场的时间都不好.这应该是最后一场CF了,差\(4\)分上紫也是一个遗憾吧. A 给一个 ...

随机推荐

  1. PHP中get请求中参数的key不能是para

    &para会被转化成¶,然后就无法进行下去了. 仅作记录.

  2. 洛谷P4859 已经没有什么好害怕的了 [DP,容斥]

    传送门 思路 大佬都说这是套路题--嘤嘤嘤我又被吊打了\(Q\omega Q\) 显然,这题是要\(DP\)的. 首先思考一下性质: 为了方便,下面令\(k=\frac{n+k}{2}\),即有恰好\ ...

  3. 【进阶3-5期】深度解析 new 原理及模拟实现(转)

    这是我在公众号(高级前端进阶)看到的文章,现在做笔记 https://github.com/yygmind/blog/issues/24 new 运算符创建一个用户定义的对象类型的实例或具有构造函数的 ...

  4. C# Excel行高、列宽、合并单元格、单元格边框线、冻结

    private _Workbook _workBook = null;private Worksheet _workSheet = null;private Excel.Application _ex ...

  5. HTML阻止冒泡事件的发生

    阻止事件冒泡函数(低级标签的点击事件触发后,上级标签的点击事件再触发,此函数就是防止冒泡事件发生) function stopEventBubble(event){ var e=event || wi ...

  6. liunx tomcat 运行模式apr

    tomcat运行模式一共三种:bio.nio.apr 网上对这三种运行模式的解释外: bio运行模式:阻塞式I/O操作,表示Tomcat使用的是传统的Java I/O操作(即java.io包及其子包) ...

  7. 一篇文章教你读懂UI绘制流程

    最近有好多人问我Android没信心去深造了,找不到好的工作,其实我以一个他们进行回复,发现他们主要是内心比较浮躁,要知道技术行业永远缺少的是高手.建议先阅读浅谈Android发展趋势分析,在工作中, ...

  8. iOS 上线过程中出现的问题总结

    1:  因为使用后台播放音乐,在 info 里面添加 required background modes  的 key, 如果你的代码里面没有后套播放音频的功能, 不要添加 required back ...

  9. Modbus库开发笔记之六:Modbus RTU Master开发

    这一节我们来封装最后一种应用(Modbus RTU Master应用),RTU主站的开发与TCP客户端的开发是一致的.同样的我们也不是做具体的应用,而是实现RTU主站的基本功能.我们将RTU主站的功能 ...

  10. D3.js force力导向图用指定的字段确定link的source和target,默认是索引

    json.links.forEach(function (e) { var sourceNode = json.nodes.filter(function (n) { return n.name == ...