Codeforces Round #557 题解【更完了】
Codeforces Round #557 题解
掉分快乐
CF1161A Hide and Seek
Alice和Bob在玩捉♂迷♂藏,有\(n\)个格子,Bob会检查\(k\)次,第\(i\)次检查第\(x_i\)个格子,如果Alice在这个格子就输了。Alice一开始会在一个格子,可以在Bob检查过一次后向一个相邻的格子移动(整局游戏只能用一次)。求Alice有多少种方案赢。
两个方案相同当且仅当Bob检查之前Alice的位置和Bob做完所有检查之后Alice的位置都相同。
cao,sb阅读题。。。
直接枚举方案判断即可
https://codeforces.com/contest/1161/submission/53750223
CF1161B Chladni Figure
有一个圆形光碟,圆上均匀放着\(n\)个点。一些点之间有连边。
问这个光碟是否可以旋转一定角度和自己相等。(显然不能是360度)
kao我是sb这都不会了。。。
对一个角度暴力判断是\(O(n)\)的,然后可能的角度肯定是\(n\)的约数就做完了。。
https://codeforces.com/contest/1161/submission/53768643
CF1161C Thanos Nim
取石子游戏,每次选择\(n/2\)堆取任意数量石子,不能操作者输。
(此题我还是不知道是啥意思,"They can remove a different number of stones from the piles in a single turn"这句话太鬼了)
显然的可以知道,如果有人取完一堆石头这个人就输了。
如果最小值的数量小于等于\(n/2\)则Alice赢,否则Bob赢。
如果现在在必胜态,就有\(\geq n/2\)个石子严格大于当前最小值,将它们减到最小值,就到达了必败态。
如果是必败态,至少会取到一个最小值的堆减小最小值,那么新的最小值数量最多也就\(n/2\)个。
https://codeforces.com/contest/1161/submission/53769976
CF1161D Palindrome XOR
有一个数字串\(s\),由0
、1
和?
组成,串长为\(n\),第0位是1
。你要取两个数\(a,b\),满足以下条件:
- \(0<a<b<2^n\)
- \(a\)和\(b\)去掉前导\(0\)之后是回文数字
- \(a\text{ xor }b\)的二进制表示与给定的数字串匹配。
?
可以匹配0
和1
,0
和1
只能匹配对应的数字。
由只有0和1可以想到图的染色。
因为\(s\)保证了第0位是1,那么显然\(a\)第0位是0,\(b\)第0位是1,b的长度就一定是\(n\)了。枚举\(a\)的长度\(l\),建一张图。对\(a,b\)每一位都建一个点,设为\(A_i,B_i\),再建一个\(I\)点表示\(0\)。
点的颜色只有\(0,1\)两种,边有权值\(0\)或\(1\),意义是连的两个点颜色相等/不等。
显然连边满足条件。第一个条件已经满足了,再看第二个条件,对于\(a\)只需要对所有满足条件的\(i,j\)连边\((A_i,A_j,0)\)即可,\(b\)一样。
第三个条件也很好满足,将对应位置的\(A_i,B_i\)连边\((A_i,B_i,s_i)\)即可。如果\(s_i\)是?
不需要连边,如果\(A_i\)不存在就是\(0\),向\(I\)连边。
还有,因为第一位一定是是\(1\),所以连边\((B_1,I,1),(A_{n-lena+1},I,1)\)。
对整个图进行染色,如果可以染色,设联通块数量是\(C\),答案加上\(2^{C-1}\),因为\(I\)一定取\(0\),剩下的联通块可以任意交换\(0,1\)。
https://codeforces.com/contest/1147/submission/53788363
CF1161E Rainbow Coins
交互题
有\(n\)个硬币,每个硬币有3种可能颜色。
你可以拿出两个硬币询问颜色是否相等。
你每次可以同时询问若干对硬币,但是一次询问中不能有硬币被询问过2次。
最后输出三组数,每一组里的硬币颜色应该相同。
最多询问7次。(一次可以同时询问多组)
首先询问两次,第一次询问\((2i-1,2i)(i\geq 1)\),第二次询问\((2i,2i+1),\cdots(i\geq 1)\),相邻的两个如果相同就缩起来,这样序列相邻两个都不同了。
然后在缩完以后的序列上询问两次,都询问\((i,i+2)(i\geq 1)\),两次可以问完。通过这个可以求出\(last_i\)表示\(i\)与\(i-2\)颜色是否相等。
然后就可以递推一遍求出答案了。前两块颜色分别是0,1,然后递推到块\(i\)时,如果\(lst_i=1\),那么\(col_i=col_{i-2}\),否则因为\(col_i\neq col_{i-1},col_i\neq col_{i-2}\),\(i\)的颜色还是唯一确定的。
https://codeforces.com/contest/1161/submission/53793188
CF1161F Zigzag Game
有一个二分图,左右各\(n\)个点,边有权值。alice和bob在上面玩游戏,alice先选择“增加”或者“减少”,bob会选择剩下的,然后alice选一个开始点,双方轮流在二分图上移动,bob先任意移动一步,然后如果alice选了增加,alice移动的边较上次必须严格更大,bob同理。显然无法移动就输了。而且不能走到以前走到过的点。你要和judger玩这个游戏,你先选则玩alice还是bob,然后玩游戏,显然你要赢。
因为zsy太强了,bob是实际意义上的先手,当然选bob了。(而且样例2说明了选alice可能直接暴毙)
还是因为zsy太强了,在二分图上的博弈要先找一个匹配,每次直接走匹配上的边。
假设Alice选了“增加”(否则取反所有边权)并选一个左边的点开始。如果有连续的三步\(a\rightarrow b\rightarrow c\rightarrow d\),且\(a,c\)在左边,\(b,d\)在右边,那么\(a\rightarrow b,c\rightarrow d\)是bob走的,\(b\rightarrow c\)是alice走的。因为移动的“增加”“减少”限制,我们需要满足\(W_{a,b}<W_{b,c},W_{b,c}>W_{c,d}\)。
还是因为zsy太强了,这是一个稳定婚姻问题,左边点对于右边点的权值是边权,右边对于左边点的是边权相反数。
https://codeforces.com/contest/1161/submission/53810373
Codeforces Round #557 题解【更完了】的更多相关文章
- Codeforces Round #557 (Div. 1) 简要题解
Codeforces Round #557 (Div. 1) 简要题解 codeforces A. Hide and Seek 枚举起始位置\(a\),如果\(a\)未在序列中出现,则对答案有\(2\ ...
- Codeforces Round #556 题解
Codeforces Round #556 题解 Div.2 A Stock Arbitraging 傻逼题 Div.2 B Tiling Challenge 傻逼题 Div.1 A Prefix S ...
- Codeforces Round #569 题解
Codeforces Round #569 题解 CF1179A Valeriy and Deque 有一个双端队列,每次取队首两个值,将较小值移动到队尾,较大值位置不变.多组询问求第\(m\)次操作 ...
- CFEducational Codeforces Round 66题解报告
CFEducational Codeforces Round 66题解报告 感觉丧失了唯一一次能在CF上超过wqy的机会QAQ A 不管 B 不能直接累计乘法打\(tag\),要直接跳 C 考虑二分第 ...
- Codeforces Round #542 题解
Codeforces Round #542 abstract I决策中的独立性, II联通块染色板子 IIIVoronoi diagram O(N^2 logN) VI环上距离分类讨论加取模,最值中的 ...
- Educational Codeforces Round 55 题解
题解 CF1082A [Vasya and Book] 史上最难A题,没有之一 从题意可以看出,翻到目标页只有三种办法 先从\(x\)到\(1\),再从\(1\)到\(y\) 先从\(x\)到\(n\ ...
- Codeforces Educational Codeforces Round 54 题解
题目链接:https://codeforc.es/contest/1076 A. Minimizing the String 题意:给出一个字符串,最多删掉一个字母,输出操作后字典序最小的字符串. 题 ...
- Codeforces Educational Codeforces Round 57 题解
传送门 Div 2的比赛,前四题还有那么多人过,应该是SB题,就不讲了. 这场比赛一堆计数题,很舒服.(虽然我没打) E. The Top Scorer 其实这题也不难,不知道为什么这么少人过. 考虑 ...
- Educational Codeforces Round 19 题解【ABCDE】
A. k-Factorization 题意:给你一个n,问你这个数能否分割成k个大于1的数的乘积. 题解:因为n的取值范围很小,所以感觉dfs应该不会有很多种可能-- #include<bits ...
随机推荐
- JavaNetty
Netty的简单使用: import io.netty.bootstrap.Bootstrap; import io.netty.buffer.Unpooled; import io.netty.ch ...
- REDISTEMPLATE如何注入到VALUEOPERATIONS
REDISTEMPLATE如何注入到VALUEOPERATIONS 今天看到Spring操作redis 是可以将redisTemplate注入到ValueOperations,避免了ValueOpe ...
- 【洛谷 P4688】 [Ynoi2016]掉进兔子洞(bitset,莫队)
题目链接 第一道Ynoi 显然每次询问的答案为三个区间的长度和减去公共数字个数*3. 如果是公共数字种数的话就能用莫队+bitset存每个区间的状态,然后3个区间按位与就行了. 但现在是个数,bits ...
- flex 布局学习
flex 布局学习 寻根溯源话布局 一切都始于这样一个问题:怎样通过 CSS 简单而优雅的实现水平.垂直同时居中.记得刚开始学习 CSS 的时候,看到 float 属性不由得感觉眼前一亮,顺理成章的联 ...
- JAVA基础之Servlet
个人理解: servlet是用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容.需要注意的在创建的服务器端的目录和实际上存在差别的,并且访 ...
- C++线程同步与互斥总结
互斥:当多个线程访问同一个全局变量,或者同一个资源(比如打印机)的时候,需要进行线程间的互斥操作来保证访问的安全性. 临界区.互斥体.事件和信号量都可以实现线程互斥.但如果仅仅需要实现互斥功能,推荐前 ...
- AndroidStudio中Run按钮是灰色的解决方法
在model下拉框中选择app.如果下拉框中没有app,(没有工程名),那么请先去设置: Android Studio 3.3.0 File->sync project with gradles ...
- Lock wait timeout分析
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction分析 1.4个用户连接数据库(A和D是本地回环登陆, ...
- c++第四次作业
继承与派生--访问控制 一.知识要点 (一)知识回顾: 基类的成员可以有public.protected.private三种访问属性.基类的自身成员可以对基类中任何一个其他成员进行访问,但是通过基类的 ...
- PHP实现DES/ECB/PKCS5Padding加密兼容Java SHA1PRNG算法
在使用php调用java接口时,遇到了两边加密结果不一致的问题.经过沟通发现接口方使用了SHA1PRNG算法,对原密码计算后做为Des的加密Key. 因此在php中也需要先对原密码做相应计算才能保持结 ...