A

若 \(k>1\),冒泡排序;否则判断是否已经有序。

B

初始令 \(a_i=2^{30}-1\),然后对于每个限制,让 \(a_i\leftarrow a_i\&M_{i,j},\;\;a_j\leftarrow a_j\&M_{i,j}\)。

C

答案可以视作:总和 + 一个后缀 + 一个短一点的后缀 ……

除了总和是一开始就要算的,我们只要把每个和为正的后缀累加即可。

D2

题意:一次操作使一个数 \(+1\),最多 \(k\) 次操作。问最终整个序列的按位与最大是多少。

直接看 D2,D1 略。

贪心,要尽可能让答案的二进制位变成 \(1\)。而答案的一个位上是 \(1\),则所有数的这一位都得是 \(1\)。

所以 D1 的解法:按位从高到低,如果当前位可能是 \(1\),就把所有数加到这一位是 \(1\)。

D2 的解法需要观察性质:当一个数被加到某一位是 \(1\),其更低位一定都是 \(0\)。

首先可以快速求出来答案的最高位是第几位,因为可以预处理每个数使第 \(i\) 位为 \(1\) 要加多少。

假设答案最高位为 \(w\),注意到 \(a_i<2^{20}\)。于是若 \(w\ge 20\),变换后所有数都是 \(2^w\)。若剩下 \(c\) 次操作,最终答案为 \(2^w+\lfloor\dfrac{c}{n}\rfloor\)。

剩下情况就是 \(w\le 19\)。假设现在当前答案 \(ans\),在贪第 \(i\) 位,我们要判断把所有数加到第 \(i\) 位是 \(1\) 的代价能否承担。(D1 的解法就是直接循环求和判断)

记录目前已经被加过的数的个数 \(cnt\),这些数目前剩下的所有位都是 \(0\),则贡献 \(cnt\times 2^i\)。

剩下的数只需考虑第 \(i\) 位是 \(0\) 的。这些数一定满足:之前 \(ans\) 的位都有。因为只有这样才不会在之前就被操作。

设这类数有 \(f_i\) 个,这类数低于 \(i\) 位的和是 \(g_i\),则贡献的答案是 \(f_i\times 2^i-g_i\)。

怎么求 \(f,g\)?这些东西满足高位在 \(ans\) 的位上有,同时第 \(i\) 位没有。高维后缀和。

E

把点分为两类:\(x\equiv y\pmod 2\) 和 \(x\not\equiv y\pmod 2\) 的。

起点已经确定,其实哪边赢只和终点是哪类点有关。

随机推荐

  1. paddlespeech on centos7

    概述 paddlespeech是百度飞桨平台的开源工具包,主要用于语音和音频的分析处理,其中包含多个可选模型,提供语音识别.语音合成.说话人验证.关键词识别.音频分类和语音翻译等功能. paddles ...

  2. shell脚本(15)-sed命令

    文档目录一.sed-简介1.shell对文件操作介绍2.sed命令简介3.sed语法: sed [options] '{command}{flags}' [filename]二.sed-命令选项( - ...

  3. 机器学习-无监督机器学习-LDA线性判别分析-25

    目录 1. Linear Discriminant Analysis 线性判别分析 1. Linear Discriminant Analysis 线性判别分析 经常被用于分类问题的降维技术,相比于P ...

  4. 【Linux API 揭秘】module_init与module_exit

    [Linux API 揭秘]module_init与module_exit Linux Version:6.6 Author:Donge Github:linux-api-insides 1.函数作用 ...

  5. SpringMVC02——第一个MVC程序-配置版(low版)

    配置版 新建一个子项目,添加Web支持![在MVC01中有详细方法] 确定导入了SpringMVC的依赖 配置web.xml,注册DispatcherServlet <?xml version= ...

  6. restful-接口风格

  7. 理解Asp.net MVC模式

    MVC是模型(Model).视图(View).控制器(Controller)的缩写,它是Web应用程序中一种常用的架构模式.这种模式将应用程序大体上分为3层,即Model层.View层和Control ...

  8. [转帖]使用MAT命令行工具生成堆dump分析文件

    https://www.cnblogs.com/hellxz/p/use_mat_linux_command_line_generate_reports.html 写作目标 Java程序运行过程中,难 ...

  9. [转帖]MOUNTING AN S3 BUCKET ON WINDOWS AND LINUX

    https://blog.spikeseed.cloud/mount-s3-as-a-disk/#mounting-an-s3-bucket-on-windows-server-2016 Wouldn ...

  10. [转帖]docker使用阿里镜像源

    ps:docker使用阿里镜像源特别快 首先安装docker:参考https://www.jianshu.com/p/2dae7b13ce2f 一.使用阿里镜像地址: dockerd --regist ...