首页 > 其他分享 >【比赛记录】 Codeforces Round #682 Div.2

【比赛记录】 Codeforces Round #682 Div.2

时间:2023-02-27 19:35:46浏览次数:73  
标签:limits 复杂度 Codeforces 序列 异或 sum Div.2 Round 2k

Problems:

# Name Submit
A Specific Tastes of Andre Submit
B Valerii Against Everyone Submit
C Engineer Artem Submit
D Powerful Ksenia Submit
E Yurii Can Do Everything Submit
F Olha and Igor Submit

题解:

A:Specific Tastes of Andre

全部输出相同的数即可。

B:Valerii Against Everyone

猜测当且仅当 \(b\) 数组中存在两个相同的数,存在答案。
充分性容易理解,通过 \(\sum\limits_{i=l}^r a_i\) 的二进制表示可以证明必要性。

C:Engineer Artem

\(+1\) 可以改变一个数的奇偶性,而奇偶性不同的数一定不同。
故只需构造奇偶相互交替的矩阵即可。

D:Powerful Ksenia

性质:

  • 一次操作可以把三个数变为相同的一个数。
  • 将 \(a,a,b\) 异或起来可以得到 \(b,b,b\) 。
  • 每次操作前后整个序列的异或和不变。

 
对于 \(n\) 是奇数的情况,容易通过将 \(a_{2k-1},a_{2k}\) 与 \(a_n\) 异或,
将序列变为若干段长度为 \(2\) 的相同的数,以及最后一段长度为 \(3\) 的相同的数,
最后再来一遍将 \(a_{2k-1},a_{2k}\) 与 \(a_n\) 异或的操作,操作数 \(n-2\) 。
对于 \(n\) 是偶数的情况,根据性质可知:若有解,则整个序列异或和为 \(0\) 。
那么考虑将最后一个数单独拎出来,对前 \(n-1\) 个数像奇数一样操作。
因为整个序列异或和为 \(0\) ,操作完后前 \(n-1\) 个相等的数一定与第 \(n\) 个数相等。

E:Yurii Can Do Everything

设 \(a_l\) 的二进制下的最高位为 \(k\) ,那么 \(a_l \oplus a_r <2^{k+1}\) 。
那么对于一个 \(l\) ,只需要枚举到 \(\sum\limits_{i=j+1}^{r-1}a_i>2^{k+1}\) 处。
现证明该复杂度为 \(\text{O}(n\log a_i)\) 。
对于若干个最高位为 \(k\) 的 \(a_{b_1},a_{b_2},\ldots,a_{b_j}\) 。
对于每一个 \(l=b_i\) ,\(r\) 最远只能取到 \(b_{i+2}\) ,
因为此时最高位均为 \(k\) ,相加进位,大于等于 \(2^{k+1}\) ,继续往后不载满足条件。
一共枚举 \(\sum\limits_{i=1}^j (b_{i+2}-b_i)\) 个位置,上界为 \(2n\) ,
故每一位复杂度为线性,总复杂度为 \(\text{O}(n\log a_i)\) 。

F:Olha and Igor

交互题,不会,爪巴。

标签:limits,复杂度,Codeforces,序列,异或,sum,Div.2,Round,2k
From: https://www.cnblogs.com/loctopus/p/cf_682.html

相关文章

  • Codeforces Round #111 (Div. 2) E. Buses and People 线段树|多维限制|离散化
    一看发现要求满足3个条件,有点头大可以先把所有的bus和people拎出来,用bus的s和people的l去排序,这样能保证对于当前的people,si都合法。然后考虑如何满足ti最小的情况下,使得......
  • Codeforces Global Round 15 CF1552 A~G 题解
    点我看题对两三年前的cf进行考古的时候偶然做到这场,像这种全是构造题和思维题的比赛还是比较少见的。题目本身很有意思,但是对于现场打比赛想上分的人来说体验就比较差了。......
  • (AtCoder Beginner Contest 289)And Codeforces Round #851 (Div. 2)
     <C-Coverage Editorial>       这道题可以用dfs进行爆搜,但是在爆搜的时候要注意:是否同一个状态重复计数了比如dfs(i......
  • Educational Codeforces Round 24
    EducationalCodeforcesRound24https://codeforces.com/contest/818有些题就是从某个角度想好复杂,不好实现,但是换一种思考方式,从另一个角度想就会豁然开朗,也很好写。这......
  • Codeforces Round #853 (Div. 2) 题解
    CodeforcesRound#853(Div.2)题解ABCDCodeforcesRound#853(Div.2)|萌新实况被吊打|ABCD题解E.ServalandMusicGame分两种情况讨论:\(\lfloor\frac{s_......
  • 解决在Android studio的Button控件下background背景设置不起作用的问题
    Button控件默认的背景是深紫色的,有时候会看不清按钮上的文本,显得很不方便,想要修改背景色所以添加了background字段,但是又不起作用!!!1.找到values文件夹下面的themes文件夹,打......
  • Educational Codeforces Round 23
    EducationalCodeforcesRound23https://codeforces.com/contest/817数据结构专场。A.TreasureHunt#include<bits/stdc++.h>usingnamespacestd;intmain()......
  • Codeforces Edu 143 补题笔记
    [A.TwoTowers](Problem-A-Codeforces)Def给出长为n,m的两个01栈,可以将栈顶的元素移往另一个栈顶,问是否可以使得两个栈中元素均为01交替Sol因为是栈顶,可以知道......
  • 题解 Codeforces 1746F Kazaee
    题意给定长度为\(n\)的数组\(a\),和\(q\)次操作,支持:给定\(i,x\),修改\(a_i\)为\(x\)给定\(l,r,k\),查询\([l,r]\)中是否每个数的出现次数都是\(k\)的倍数......
  • Cut Ribbon CodeForces - 189A
    给3个数字,求组成n的方案中数字个数最多的? #include<iostream>#include<queue>#include<cstring>#defineIOSstd::ios::sync_with_stdio(0)usingnamespac......