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. REDELK的安装和使用

    0x00 前言简介 红队的SIEM有两个主要目标: 通过创建一个集中管理中心,收集和丰富来自多个 teamservers的所有相关操作日志,增强了红队人员的可用性和概述.这对于在操作中进行历史搜索以及 ...

  2. 【Spring AOP】Spring AOP之如何通过注解的方式实现各种通知类型的AOP操作进阶篇(3)

    一.切入点表达式的各种类型 切入点表达式的作用:限制连接点的匹配(满足时对应的aspect方法会被执行) 1)execution:用于匹配方法执行连接点.Spring AOP用户可能最经常使用exec ...

  3. Python从零开始——运算符

  4. 安装Ubuntu后需要做的事

    卸载软件 纸牌 麻将 扫雷 数独 火狐 邮件 扫描 拍照 照片 视频 计划 日历 打印 备份 计算器 亚马逊 电源统计 音乐播放 远程桌面 To Do LibreOffice 换下载源 装机的时候下载 ...

  5. leetcode4 Median of Two Sorted Arrays学习记录

    学习了扁扁熊的题解:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/solution/4-xun-zhao-liang-ge- ...

  6. 《MySQL性能优化篇》阅读笔记

    建表的时候,不要用null赋默认值,如:字符串的设置'',数据类型的设为0,不要将null设为默认值. 在MySQL中没有 full [outer] join,用union代替 各种 JOIN SQL ...

  7. Github api【Restful接口规范】

    Overview This describes the resources that make up the official GitHub REST API v3. If you have any ...

  8. q1096

    一,看题 1,大概是每个点都来一次BFS标记下应该就可以. 2,你可以想想队列为啥pop()是l++; 3,还是字符你得注意下. 4,x,y,m,n,行列你得搞清楚. 5,这棋盘的破东西.. 6,额, ...

  9. SpringBoot配置文件加载位置与优先级

    1. 项目内部配置文件 spring boot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 –fil ...

  10. <虚树+树型DP> HNOI2014世界树

    <虚树+树型DP> HNOI2014世界树 #include <iostream> #include <cstdio> #include <cstring&g ...