Codeforces Round #517 体验记
原文链接 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 体验记的更多相关文章
- 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++ ...
- Codeforces Round #517 Div. 1翻车记
A:真的懵逼了.冷静了半天之后决定二分一下答案,然后先a安排上尽量小的再贪心地一个个扩大.40min才过.这个做法非常怂的以代码复杂度和时间复杂度为代价换取了比较稳的正确性,事实上由于1~n可以组合出 ...
- Educational Codeforces Round 17 颓废记
又被虐了... (记一次惨痛的Codeforces) 好不容易登上去了Codeforces,22:35准时开打 第一题,一看:这不SB题嘛?直接枚举因数上啊.9min才过掉了pretest 第二题.. ...
- CF Educational Codeforces Round 57划水记
因为是unrated于是就叫划水记了,而且本场也就用了1h左右. A.B:划水去了,没做 C:大水题,根据初三课本中圆的知识,可以把角度化成弧长,而这是正多边形,所以又可以化成边数,于是假设读入为a, ...
- 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/ ...
- 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 ...
- Codeforces Round #517 (Div. 2) C. Cram Time(思维+贪心)
https://codeforces.com/contest/1065 题意 给你a,b,让你找尽量多的自然数,使得他们的和<=a,<=b,用在a和b的自然数不能重复 思路 假如只有一个数 ...
- Codeforces Round #517 (Div. 2)(1~n的分配)
题:https://codeforces.com/contest/1072/problem/C 思路:首先找到最大的x,使得x*(x+1)/2 <= a+b 那么一定存在一种分割使得 a1 &l ...
- Codeforces Round #517 Div. 2/Div. 1
\(n\)天没更博了,因为被膜你赛的毒瘤题虐哭了... 既然打了这次CF还是纪念一下. 看看NOIP之前,接下来几场的时间都不好.这应该是最后一场CF了,差\(4\)分上紫也是一个遗憾吧. A 给一个 ...
随机推荐
- 51nod--1298 (计算几何基础)
题目: 1298 圆与三角形 题目来源: HackerRank 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出圆的圆心和半径,以及三角形的三个顶点,问圆 ...
- php正则替换函数-----preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
preg_replace — 执行一个正则表达式的搜索和替换 说明 mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $ ...
- 最新手机号码验证正则表达式(PHP版本)
1 前言 手机号码是否合规,则需要校验,可以使用正则表达式. 2 代码 function checkPhoneNumberValidate($phone_number){ //@2017-11-25 ...
- oracle 新增一条数据时设置id自增
CREATE SEQUENCE test_seq --创建一个test_seq序列INCREMENT BY 1 --每次加1START WITH 1 --从1开始NOMAXVALUE ...
- 异步io模块
'''客户端''' import socket,select #####进行封装,将socket对象和要返回的url,和回调函数进行一下封装 class Httprequest(): def __in ...
- iOS ReplayKit 录屏 框架的使用
在需要使用录屏的 地方 引入 头文件 #import <ReplayKit/ReplayKit.h> 添加代理 RPPreviewViewControllerDelegate 因为 iOS ...
- SQL Server2008从入门到精通pdf
下载地址:网盘下载 内容介绍 编辑 <SQL Server 从入门到精通>从初学者的角度出发,通过通俗易懂的语言.丰富多彩的实例,详细地介绍了SQLServer2008开发应该掌握的各方面 ...
- 关于python3链接虚拟机MongoDB 遇到的问题总结
pymongo.errors.ServerSelectionTimeoutError: 192.168.12.230:27017: [Errno 61] Connection refused 1.如果 ...
- 实用的sublime插件集合 – sublime推荐必备插件
Package Control 功能:安装包管理 简介:sublime插件控制台,提供添加.删除.禁用.查找插件等功能 使用:https://sublime.wbond.net/installatio ...
- yum -y 与yum有何区别(转载)
在linux中,经常使用yum来进行软件的安装,更新与卸载,那我们会发现,在使用yum的时候,通常有下面两种指令模式: ①yum install xxx ②yum -y install ...