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. Oracle 11.2.0.4打补丁

    所需补丁及高版本opatch 上传后将p6880880_112000_Linux-x86-64.zip解压覆盖$ORACLE_HOME/OPatch目录即可 [oracle@localhost OPa ...

  2. stdin,stdout 和 STDOUT_FILENO,STDIN_FILENO

    stdin,stdout 等类型为 FILE *. STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO 等类型为 int. 使用 FILE * 的函数主要有:fopen. ...

  3. ACM模板(转载)

    转载自:https://blog.csdn.net/f_zyj/article/details/51594851 创建自:https://blog.csdn.net/ZDL_0908/article/ ...

  4. 使用istioctl命令查看gateway及virtualservices

    istioctl命令,比kubectl命令,在查看istio资源方面,要方便很多. 如果使用microk8s安装,则命令为microk8s.istioctl了. 查看gateway及virtualse ...

  5. django 基础进阶ORM 2

    1.多表操作 添加记录: 针对一对多 book_obj=Book.objects.create(title="python葵花宝典",price=100,publishDate=& ...

  6. 最强PHP防镜像代码收集,简单粗暴...你值得拥有

    JS版本 <script type="text/javascript"> if(location.toString().indexOf("yuanzhumub ...

  7. mybatis框架-resultMap的自动映射级别-partial 和full的探讨

    现在我们做一个小实验,输出一下上一个案例中没有匹配的属性,注意哦,现在user类中是有内部嵌套的复杂数据类型的 运行结果: 注意到:现在居然连userPassword都打印不出来了,原因就是user类 ...

  8. eclipse 导入项目后,在工程图标上出现红叉,但是工程中的文件并没有提示错误的解决方法

    进入项目包下的.settings目录,找到org.eclipse.wst.common.project.facet.core.xml文件,用记事本打开后才发现这句话有问题:<runtime na ...

  9. 常用dos命令(3)

    网络命令 ping 进行网络连接测试.名称解析 ftp 文件传输 net 网络命令集及用户管理 telnet 远程登陆 ipconfig显示.修改TCP/IP设置 msg 给用户发送消息 arp 显示 ...

  10. CentOS7 安装 vsftpd 服务

    CentOS7 安装 vsftpd 服务 0.FTP简介 FTP服务是一个跨平台的文件共享解决方案 0.1.FTP两种模式的区分:服务端的主被动模式 1)ftp一般分为两种模式,PORTFTP和PAS ...