Codeforces Round #557 (Div. 1) 简要题解

codeforces

A. Hide and Seek

枚举起始位置\(a\),如果\(a\)未在序列中出现,则对答案有\(2\)或\(3\)的贡献。

若\(a\)在序列中出现,找到\(a\)第一次出现的位置\(x\),则说明在\(x\)位置之前需要把\(a\)移动到\(a+1\)或\(a-1\)处,只需要判断\(x\)后面有没有\(a+1\),有没有\(a-1\)。对每种数字记录第一次和最后一次出现位置即可。
code

B. Chladni Figure

旋转的角度\(k\)一定是\(n\)的约数。暴力枚举约数判断即可,复杂度\(O(n\sigma_0(n))\)。
code

C. Thanos Nim

结论是后手必胜当且仅当局面中的最小值个数超过一半,因为当最小值个数超过一半时操作必改变最小值,且操作后最小值个数不超过一半,而在最小值个数不超过一半时显然存在一种操作策略可以不改变最小值,而使操作后最小值个数超过一半。
code

D. Palindrome XOR

令\(n\)为读入的字符串长。显然\(b\)的长度就是\(n\),且\(a\)的长度小于\(n\)。

枚举\(a\)的长度\(m\),这样就一共有\(n+m\)个\(01\)变量待确定,这\(n+m\)个\(01\)变量之间存在一些相等或不等的关系,同时还有一些变量被强制赋值,可以新建两个点表示数值\(0/1\)后,把限制关系视作边(相等边权为\(0\),不等边权为\(1\))建出图,若图中不存在奇环则答案为\(2\)的连通块个数减\(1\)次方,否则答案为\(0\)。

复杂度\(O(n^2)\)。
code

E. Rainbow Coins

对每个\(i\)求出是否和\(i-1\)与\(i+1\)相同(\(2\)次询问),可以将序列分割成若干段,保证相邻两端颜色不同。接下来需要求每一段的颜色,假设第一段的颜色为\(0\),第二段的颜色为\(1\),然后就只需要知道第\(i\)段和第\(i-2\)段的颜色是否相同就行了(\(2\)次询问)。共计\(4\)次询问。
code

F. Zigzag Game

首先按照剧本我们应该选\(\text{Bob}\),因为\(\text{Bob}\)才是实际意义上的先手。

这是一个二分图博弈的模型,这个模型中关键的一点在于:求出二分图某个满足一定条件的匹配,接着先手就只要按照剧本沿匹配边走就能\(\text{win}\)了。

考虑这个匹配需要满足什么样的性质。不失一般性地,假设\(\text{Alice}\)选择了\(\text{Increasing}\)并选择了一个左侧节点。不是这种情况的话可以通过将边权取反到达相同的结果。

假设博弈过程中存在连续的三次操作\(w \to x \to y \to z\),其中\(w \to x\)和\(y \to z\)是\(\text{Bob}\)走的,也即,\((w,x),(y,z)\)两条边在匹配中。此时我们的要求是在\(\text{Alice}\)走到\(y\)后,\(\text{Bob}\)能够走到\(z\),也即\(val(x,y)>val(y,z)\),当然这里对\(val(x,y)\)也是有限制的,即\(val(x,y)>val(w,x)\)。

可知上述限制是对匹配的唯一限制。也就是说,匹配不合法当且仅当存在\((w,x)\in P,(y,z)\in P\)使得\(val(w,x)<val(x,y)<val(y,z)\)。

这是一个稳定婚配的模型,左侧的每个点对右侧点的偏好值与边权负相关,右侧的每个点对左侧点的偏好值与边权正相关。求出一组稳定婚配后按照剧本走就好了。

code

Codeforces Round #557 (Div. 1) 简要题解的更多相关文章

  1. Codeforces Round #545 (Div. 1) 简要题解

    这里没有翻译 Codeforces Round #545 (Div. 1) T1 对于每行每列分别离散化,求出大于这个位置的数字的个数即可. # include <bits/stdc++.h&g ...

  2. Codeforces Round #483 (Div. 1) 简要题解

    来自FallDream的博客,未经允许,请勿转载,谢谢. 为了证明一下我又来更新了,写一篇简要的题解吧. 这场比赛好像有点神奇,E题莫名是道原题,导致有很多选手直接过掉了(Claris 表演24s过题 ...

  3. Codeforces Round #498 (Div. 3) 简要题解

    [比赛链接] https://codeforces.com/contest/1006 [题解] Problem A. Adjacent Replacements        [算法] 将序列中的所有 ...

  4. Codeforces Round #535(div 3) 简要题解

    Problem A. Two distinct points [题解] 显然 , 当l1不等于r2时 , (l1 , r2)是一组解 否则 , (l1 , l2)是一组合法的解 时间复杂度 : O(1 ...

  5. [题解][Codeforces]Codeforces Round #602 (Div. 1) 简要题解

    orz djq_cpp lgm A 题意 给定一个分别含有 \(\frac n2\) 个左括号和右括号的括号序列 每次可以将序列的一个区间翻转 求一个不超过 \(n\) 次的操作方案,使得操作完之后的 ...

  6. Codeforces Round #398 (div.2)简要题解

    这场cf时间特别好,周六下午,于是就打了打(谁叫我永远1800上不去div1) 比以前div2的题目更均衡了,没有太简单和太难的...好像B题难度高了很多,然后卡了很多人. 然后我最后做了四题,E题感 ...

  7. Codeforces Round #588 (Div. 1) 简要题解

    1. 1229A Marcin and Training Camp 大意: 给定$n$个对$(a_i,b_i)$, 要求选出一个集合, 使得不存在一个元素好于集合中其他所有元素. 若$a_i$的二进制 ...

  8. Codeforces Round #576 (Div. 1) 简要题解 (CDEF)

    1198 C Matching vs Independent Set 大意: 给定$3n$个点的无向图, 求构造$n$条边的匹配, 或$n$个点的独立集. 假设已经构造出$x$条边的匹配, 那么剩余$ ...

  9. # Codeforces Round #529(Div.3)个人题解

    Codeforces Round #529(Div.3)个人题解 前言: 闲来无事补了前天的cf,想着最近刷题有点点怠惰,就直接一场cf一场cf的刷算了,以后的题解也都会以每场的形式写出来 A. Re ...

随机推荐

  1. error: undefined reference to `vtable for

    出现如下错误: 解决办法 当类中加入Q_OBJECT,需要手动删除中间文件,再构建

  2. CHAR与VARCHAR详解

    前言:  前面写过一篇介绍int类型的文章,一直想写一篇介绍字符串字段类型的文章,一直拖着也没思路要怎么下手.最近多关注了下这方面的文章,决定还是把拖了好久的文章了结了吧.本篇文章主要会介绍字符串类型 ...

  3. 旅游景点信息API接口大全

    1.分享数据:“http://www.shareapi.cn/docs/api/id/127”,免费,次数1000次 返回JSON示例 { "SceneryID":10224,/* ...

  4. C# Net 通用json转Object(对象)

    C# Net  通用 json 转 Object  对象 C# Net 提取 json 字符串 对象 数组 C# Net json 对象 中有字符串 转为 对象 例如输入:{"1" ...

  5. python的multitask模块安装

    今天参考网络上的例子,编写基于python的网络程序,遇到下面的错误. No module named 'multitask' 但是multitask的模块却始终下载不了,在网上找到的CSDN下载链接 ...

  6. Eric6安装问题解决

    按照http://eric-ide.python-projects.org/eric-download.html中的说明,执行命令:python install.py 却遇到下面的问题: Compil ...

  7. JanusGraph入门,schema及数据模型

    5.Schema和数据建模 每个JanusGraph都有一个schema,该schema由edge labels,property keys,和vertex组成.JanusGraph schema可以 ...

  8. 移动端事件(touchstart、touchmove、touchend)--移动端开发整理笔记(三)

    移动端事件 三个事件 touchstart 手指触摸 相当于PC端 mousedown touchend 手指抬起 相当于PC端 mouseup touchmove 手指滑动 相当于PC端 mousm ...

  9. sublime text3中Package Control的安装

    手动安装Package Control,亲测有效成功 1.点击https://github.com/wbond/package_control去github下载Package Control安装包下载 ...

  10. CanvasRenderingContext2D.drawImage()无效,not working

    我的技术框架:react,如若不采用堵塞方式,即, const myimg = await loadImage(icon28) ctx.drawImage(myimg,0,0, 100, 100)   ...