Codeforces 游记

早就对这个比赛平台有所耳闻(事实上,之前打过一场div2惨的一批……)今天去打了一场div3。

首先还是吐槽一下这个毛子时区的比赛时间,从十点三十五到零点三十五……这种时间要不是在家根本没法打嘛……

先贴一下丢人的Preliminary results。

开局A题签到,用map当哈希表过了B2(@Rorschach_XR说过,STL离散化建议上map(笑))

然后读一下C题,花里胡哨好像不是很可做,直接去看D题。给出一个字符串,要求支持两种操作:修改一个字符;给出一个区间,求区间内不同字符的个数。

绞尽脑汁想了半天,(还曾理解错题意维护26个树状数组),想到用可修改莫队做。

又绞尽脑汁想了半天(现场发明算法.avi),终于写出一个可修改莫队的板子。

中途还想,莫队算法在老外那里好像不是很流行,我好像优势很大

结果第九个点TLE了。(而且由于我不会算可修改莫队的时间复杂度,我到现在也不知道到底是不是卡常)

写了一堆快读和inline,依旧TLE

再吐槽一下cf的这个赛制,md我t一个点一分也没有啊

这个时候距离比赛结束还有20min左右,我看了一下C题通过比例决定开始想C

(这时候突然想起B1(B2简单版)好像也得提交一遍,赶去交一下)

十分钟想出一个先抽象模型再类似模拟的做法,十分钟码完过不了样例

放弃希望结果回去一看,欸?剩余13分钟?然后看到一小时前一个公告,仔细一看说是由于评测队列太长耽误时间,比赛延长15分钟。(英语不好是真的伤)

又赶紧回去debug,发现输入数据里,有一个一位数字的数组元素之间没有空格

把输入改成字符串格式,又糊上一堆特判之后居然过了。

(话说刚才重看了一遍C题代码,就tm是个屎山

然后就华丽丽的只过了ABC三道,写了1h多的D还有个-2……

总体来说难度不是很大,但是D题有点难受了……总结一下的话,还是自己鶸,写代码的速度还不够快(tle这个真不怪我了吧)。(cf赛制2h,6~7题真的有点恐怖……)

P.s.十一在洛谷报了秋令营,(学校只有三天假期还要集训五天的苦逼)这段时间可能更一点随笔吧……

原文地址:https://www.cnblogs.com/miserweyte/p/11616637.html

时间: 2024-11-02 07:04:22

Codeforces 游记的相关文章

Codeforces Round #513 游记

Codeforces Round #513 游记 A - Phone Numbers 题目大意: 电话号码是8开头的\(1\)位数字.告诉你\(n(n\le100)\)个数字,每个数字至多使用一次.问最多能凑出多少个电话号码. 思路: 统计8出现的次数,如果有多余的8不能作为开头,那么就将其放到后面去 源代码: #include<cstdio> #include<cctype> #include<algorithm> inline int getint() { regi

codeforces 酱游记

Codeforces Round #263 Div.1: B. Appleman and Tree 题目大意:给一棵树,每个点可能是黑色或白色.求有多少种方案使得这棵树被分成k份,每份有且仅有一个黑点. 一看就知道是树形dp,可是不会做...题解思路很巧妙,很有借鉴意义.用dp[v][0]表示当前点及与它同一块的点没有黑点,dp[v][1]表示当前点及与它同一块的点有且仅有一个黑点.然后就是dp了.dp时有一个技巧:当前点为白色,而我们要求dp[v][1]时,我们必须只连接一个dp[child[

Codeforces Round #500 (Div. 2) 游记

A Piles With Stones 题意 有\(N\)堆石子,任意个人.每个人可以把一堆石子中的一个石子移动到另一堆,或者是拿走一堆石子.现在给你石子一开始的情况与这些人进行操作后的情况,问是否合法. 思路 此题看上去不简单,但是你可能在几秒内想出一个结论,那就是:无论这些人怎么移动,都没有办法使得石子数量增多!那么做法就简单了,如果石子数量比没改动前的多,那么就不合法了. Code #include<iostream> using namespace std; int sum1=0,su

【codeforces 718E】E. Matvey&#39;s Birthday

题目大意&链接: http://codeforces.com/problemset/problem/718/E 给一个长为n(n<=100 000)的只包含‘a’~‘h’8个字符的字符串s.两个位置i,j(i!=j)存在一条边,当且仅当|i-j|==1或s[i]==s[j].求这个无向图的直径,以及直径数量. 题解:  命题1:任意位置之间距离不会大于15. 证明:对于任意两个位置i,j之间,其所经过每种字符不会超过2个(因为相同字符会连边),所以i,j经过节点至多为16,也就意味着边数至多

Codeforces 124A - The number of positions

题目链接:http://codeforces.com/problemset/problem/124/A Petr stands in line of n people, but he doesn't know exactly which position he occupies. He can say that there are no less than a people standing in front of him and no more than b people standing b

Codeforces 841D Leha and another game about graph - 差分

Leha plays a computer game, where is on each level is given a connected graph with n vertices and m edges. Graph can contain multiple edges, but can not contain self loops. Each vertex has an integer di, which can be equal to 0, 1 or  - 1. To pass th

Codeforces Round #286 (Div. 1) A. Mr. Kitayuta, the Treasure Hunter DP

链接: http://codeforces.com/problemset/problem/506/A 题意: 给出30000个岛,有n个宝石分布在上面,第一步到d位置,每次走的距离与上一步的差距不大于1,问走完一路最多捡到多少块宝石. 题解: 容易想到DP,dp[i][j]表示到达 i 处,现在步长为 j 时最多收集到的财富,转移也不难,cnt[i]表示 i 处的财富. dp[i+step-1] = max(dp[i+step-1],dp[i][j]+cnt[i+step+1]) dp[i+st

Codeforces 772A Voltage Keepsake - 二分答案

You have n devices that you want to use simultaneously. The i-th device uses ai units of power per second. This usage is continuous. That is, in λ seconds, the device will use λ·ai units of power. The i-th device currently has bi units of power store

Educational Codeforces Round 21 G. Anthem of Berland(dp+kmp)

题目链接:Educational Codeforces Round 21 G. Anthem of Berland 题意: 给你两个字符串,第一个字符串包含问号,问号可以变成任意字符串. 问你第一个字符串最多包含多少个第二个字符串. 题解: 考虑dp[i][j],表示当前考虑到第一个串的第i位,已经匹配到第二个字符串的第j位. 这样的话复杂度为26*n*m*O(fail). fail可以用kmp进行预处理,将26个字母全部处理出来,这样复杂度就变成了26*n*m. 状态转移看代码(就是一个kmp