CF 1438 题解

news/2024/11/6 20:13:40/文章来源:https://www.cnblogs.com/snowycat1234/p/18530936

CF 1438 题解

A Specific Tastes of Andre

考虑一种非常简单的构造 :\(a_i=1\). 不难发现满足条件.

B Valerii Against Everyone

结论: 符合条件当且仅当有两个一样的元素.

证明:

充分性显然, 下证必要性.

若不存在两个一样的元素, 则由于无法进位, 故没有办法得到两个区间和在相同二进制位上为 \(1\), 证毕.

C Engineer Artem

可以选择是否 \(+1\) 相当于可以控制奇偶性. 于是只要相邻格黑白染色后让黑格中是奇数, 白格中是偶数就一定不会有相邻格子中的数一样.

D Powerful Ksenia

一个重要的观察是, 在操作前后, 整个序列的异或和不会改变.

如果序列长度是奇数, 那么只需要如下构造:

\[(1,2,3),(3,4,5),\dots,(n-2,n-1,n) \]

就可以让最后一个数是原序列异或和, 前面的数每两个之间相等.

然后把每两个相等的位置和最后一个数操作一下, 就可以让每个数都是原序列异或和.

如果是偶数:

首先, 最后局面所有数异或和一定是 \(0\) , 那么原序列异或和必然为 \(0\) , 否则无解.

否则把前 \(n-1\) 个数跑一遍如上构造, 此时前 \(n-1\) 个数都一样, 由于整个数列异或和为 \(0\), 那么此时最后一个元素和前面也一样, 操作结束.

E Yurii Can Do Everything

\(O(n^2)\) 的暴力是容易的. 考虑优化:

我们首先钦定 \(a_l\) 必须小于 \(a_r\) , 然后反过来再跑一遍.

有什么好处呢? 这样 \(sum_{r-1}-sum_l=a_l\oplus a_r<2^k.\) 其中 \(k= \lceil \log_2 a_l\rceil\).

这样, 对于每一个 \(a_r\)\(k\), 只会被枚举 \(3\) 次, 因为如果有更多次的话, 中间会超过 \(2^k\), 因此复杂度 \(O(n \log n)\).

F Olha and Igor

如果纯随机去操作, 有很大概率随机到根节点的两个子节点.

这意味着, 可以先操作一些次, 找到出现频次最大的两个答案, 然后枚举根节点的编号询问 \(n-2\) 次就可以了.

注意刷新输出流.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/827829.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

矩阵求导 d(A*X)/dX

矩阵求导 d(A*X)/dX简单矩阵求导 $\frac{ \part (A \times X) }{ \part X }=A$。证明如下,自行体会。 感谢 https://www.cnblogs.com/sunny99/ sumoier对本文的帮助

学习笔记(二十六):资源分类与访问(Resources)

概述: 应用开发中使用的各类资源文件,需要放入特定子目录中存储管理。 资源目录的示例如下所示, base目录、限定词目录、rawfile目录、resfile目录称为资源目录;element、media、profile称为资源组目录。resources |---base | |---element | | |---string.json | |…

java微服务的异常

1.依赖异常须知: 【 如果项目的结构是单个模块的,需要给每个单个模块添加起步依赖 spring-boot-starter-parent,指定版本 】 【 如果项目的结构是子父模块的,只需要给父模块添加起步依赖 spring-boot-starter-parent,指定版本,所有子模块引入父模块就行 】配置文件你指定…

C# WebSocket的简单使用【使用Fleck实现】

有bug,不推荐使用 有bug,不推荐使用 有bug,不推荐使用2.WebSocketHelper 新建 WebSocketHelper.csusing Fleck;namespace WebSocket {internal class WebSocketHelper{//客户端url以及其对应的Socket对象字典IDictionary<string, IWebSocketConnection> dic_Sockets =…

第三十五讲:为什么临时表可以重名?

创建临时表,一部分为了优化查询,join在临时表里查询出结果后导入到正常表中,他也支持多session的查询优化,更重要一点是在session会话关闭后,临时表会自动销毁。嗯就这样 另外分清他和内存表的区别 内存表一定是从memory引擎创建的,临时表可以由memory引擎创建第三十五讲…

如何理解shell命令 cd $(dirname $0)

如何理解shell命令 cd $(dirname $0)-CSDN博客

对C++程序使用输入输出重定向

一般来说,在Visual Studio使用文件重定向有三种方法: 方法一:通过命令行参数实现 项目→属性→配置属性→调试→命令参数然后就在这里加上你的命令行参数 比如我有这样一段程序: #include <iostream> #include <fstream> #include "Sales_item.h"int…

红米k70怎么设置「短信通知」在锁屏时隐藏内容,不锁屏时不隐藏内容

红米 K70 设置短信通知在锁屏时隐藏内容、不锁屏时不隐藏内容,可以按照以下步骤进行操作:打开手机设置:在主屏幕上找到并点击 “设置” 图标,进入手机设置页面。 进入通知与控制中心:在设置页面中,找到并点击 “通知与控制中心” 选项。 选择锁屏通知:在通知与控制中心页…

c语言中声明数组时, 元素个数必须使用常量表达式

001、[root@PC1 test]# ls test.c [root@PC1 test]# cat test.c ## 测试程序 #include <stdio.h>int main(void) {int var1 = 5; // 初始化一个变量var1int array1[var1] = {3,5,8,4,9}; // 初始化数组return 0; } [root@PC1 test]# gcc test.c …

图的基本操作

目录1.图2.图的结构体定义3.图的初始化4.添加顶点、删除顶点4.1添加顶点4.2删除顶点5.添加边、删除边5.1添加边5.2删除边6.打印图7.main函数 在生命旅途中,我们就像是一个个节点,被无数看不见的边相连。每一次的相识与相离,都在这张巨大的网络图中留下独特的印记。 1.图 图(…

正态分布

正态分布 1 标准正态分布 1.1概率密度函数 \[f(x) = \frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}} \]1.2 累计分布函数 \[F(x) = \frac{1}{\sqrt{2\pi}} \int_{-\infty}^{x}e^{-\frac{t^2}{2}}dt \] 2 (一般)正态分布 2.1 概率密度函数 \[f(x) = \frac{1}{\sqrt{2\pi\sigma…

Pycharm中使用AI辅助Coding工具Aws Toolkit

一、安装插件 二、重启完了以后点击左下角的aws 三、点developer tools,双击codewhisperer中的start,点击connect 四、点击sign out,open and copy code五、跳转到网页浏览器中打开登录界面,我们在图中所示的 code 一栏中粘贴上验证码,点击"next"按钮六、没有账…