CSP2024-38

news/2024/10/23 13:25:23

2A

题意:定义 \(S(n, k)\)\(n\)\(k\) 进制下的数位和。

给定 \(n, k, x\),求 \(\sum_{i = 2}^k[S(n, i) \le x]\)\(n \le 10^{12},\ k, x \le 10^{18}\)

  • \(i \le \sqrt n\),直接枚举。

  • \(i > \sqrt n\),最多两位数,总和等于 \(\lfloor\dfrac{n}{i}\rfloor + (n\bmod i) = n - (i - 1) \lfloor\dfrac{n}{i}\rfloor\)

    枚举 \(\lfloor\dfrac{n}{i}\rfloor\),算合法范围即可。

时间复杂度 \(O(n\sqrt n)\)。submission

A

题意:\(n\times m\) 的网格,每个位置可以水平和垂直方向各连一条边。

当且仅当两个位置互相连边会产生价值 \(a_i \oplus a_j + \text{popcount}(a_i \oplus a_j)\),问最大价值和。

不难发现每行每列都是独立的,分别做线性 DP 即可。

submission

B

题意:维护长度为 \(n\) 的序列,每次全局加减一个数,对 \(0\)\(\max\)\(a_i\)\(i\)\(\max\),求全局和。

数据范围:\(n\le 10^9,q \le 10^6\)

(由于题解图画太好了,所以全部贺过来了)

初始状态,高度代表容量。

初始 \(l, r\) 指针汇聚在 \(0\),加水对应 \(r\) 上升,减水对应 \(l\) 上升。

此时如果再加水可以发现是从最底层开始加的,即新增指针 \(l_1 = 1,\ r_2 = d\)

如果 \(r\) 与上次层的 \(l\) 相遇,则两部分合并,并向上溢出。

此时再减水是从下往上考虑每个区间,并上移 \(l\) 直到 \(l, r\) 相遇,该区间消失。

栈维护所有区间,栈顶存储最底下的元素,时间复杂度 \(O(q)\)

submission

C

题意:长度为 \(n\) 的序列,初始将 \(m\) 段区间染成黑色(可以重复染色)。

一次操作定义为将长度为 \(x\) 的区间染成黑色,求至多 \(k\) 次操作后最长连续黑色区间长度。

数据范围:\(1\le, k, x\le n\le 10^9,\ 1\le m \le 10^5\)

首先可以一边扫描将有交区间全部合并。

如果答案区间不包含原区间:贡献为 \(\max(n, k\times x)\)

否则枚举其包含的最左侧的原区间:

左边的决策:一直放 \([l- x,\ l - 1]\)\(l\) 表示当前左端点(\(l - x < 1\) 时可能向右偏移部分,此时产生负贡献)。

右边的决策:一直放 \([r + 1, r + x]\),如果 \(r\) 被包含在某个原有区间 \([l_0, r_0]\),直接跳到 \(r_0 + 1\),产生正贡献。

这里的正负贡献都是相对于 “不考虑原区间,直接放” 而言的。

显然是要让正贡献越多越好,即往右边跳越多个原区间。

对于某个线段 \([l_0, r_0]\),显然是一直跳与 \(r_0 + 1\) 在模 \(x\) 意义下同余的位置,直到被某个右侧线段覆盖。

这可以从后往前线段树维护区间覆盖得到(当然可以颜色均摊段)。

考虑倍增,找到最多能在 \(k\) 限制下跳多少个线段,然后利用剩余步数往左右延伸即可。

submission

D

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

VMware vSAN 8.0U3b - 存储虚拟化软件

VMware vSAN 8.0U3b - 存储虚拟化软件VMware vSAN 8.0U3b - 存储虚拟化软件 vSAN 8 with Express Storage Architecture 请访问原文链接:https://sysin.org/blog/vmware-vsan/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.orgVMware vSAN 存储虚拟化软件 vSAN 利…

dotnet DirectX 做一个简单绘制折线笔迹的 D2D 应用

本文将告诉大家如何从简单的控制台开始,使用 Vortice 辅助调用 Direct2D1 的功能,配合 WM_Pointer 消息,制作一个简单绘制触摸折线笔迹的 D2D 应用前置博客: dotnet DirectX 通过 Vortice 控制台使用 ID2D1DeviceContext 绘制画面 本文属于 D2D 系列博客,更多 D2D 相关博客…

记 X11 里面触摸的一些行为

这是我在学习 CPF 和 Avalonia 过程中,编写的 X11 触摸测试程序所测试到的一些行为前置博客: dotnet 学习 CPF 框架笔记 了解 X11 里如何获取触摸信息 X11 触摸测试程序 测试程序开源代码路径: https://github.com/dotnet-campus/ManipulationDemo/tree/master/Manipulation…

怎么利用 OBS 推送 webrtc 流 ( whip/whep ) 到 smart rtmpd

webrtc whip 推流 & whep 拉流简介 RFC 定义 通用的 webrtc 对于 SDP 协议的交换已经有对应的 RFC 草案出炉了。这就是 WHIP( push stream ) & WHEP ( pull stream ) . WHIP RFC Link: https://www.ietf.org/archive/id/draft-ietf-wish-whip-01.html WHEP RFC Link: h…

关于蜂窝模组天线的一些大白话常识

​ 蜂窝模组这个产品形态存在的最大意义,从产业链分工上来说,是提升社会效率。 毕竟让每个需要蜂窝通信的公司自建一个团队重复造轮子,既不经济,也不聪明,就像做衣服的绝大部份公司也没必要自己做拉链一样。 蜂窝模组产品本身最大的特点之一——就是标准化。 无论软件的标…

AT开发HTTP应用:Air780EP低功耗4G模组

​已经写了一篇基于Air780EP模组AT开发的FOTA远程升级指南,有客户朋友询问能否讲讲HTTP应用部分?本期特别安排——涵盖HTTP基本应用流程、GET/POST/SSL请求示例、断点续传、常见问题等内容。 Air780EP是一款低功耗4G全网通模组,兼容模组行业1618经典封装,支持OpenCPU开发及…

MQTT应用:Air780EP低功耗4G模组AT开发

​终于要讲一讲MQTT应用! 本文应各位大佬邀请,详细讲解Air780EP模组MQTT应用的多个AT命令。 Air780EP是低功耗4G模组之一,支持全系列的AT指令以及LuatOS脚本二次开发。 一、准备工作 ​1.1 硬件准备合宙EVB_Air780EP开发板一套,包括天线、SIM卡;USB线PC电脑1.2 软件准备串…