11.27 模拟赛

news/2024/11/27 15:58:25/文章来源:https://www.cnblogs.com/2huk/p/18572509

复盘

T1 一眼不会。模拟样例的时候好像得到了一个对于每次询问 \(\mathcal O(n)\) 做的暴力算法。不太清楚。

画了点图。差不多得到一点想法。发现用 set 维护连通块,总复杂度 \(\mathcal O(n \log^2 n)\),1e6 肯定过不去。但应该能过 80。写写试试。

然后写了一坨。实际上这个时候思路还是很混乱的。

发现有一步不会写,随便蒙了个东西糊上去。显然假。但是数据似乎挺水应该能骗不少分。(这时还不知道捆绑测试。)

2.5h 了赶紧往后看题。

T2 送了 \(10\) 分。部分分好像是倍增。先写写试试 \(m=1\) 的。

没过手造样例。摆了不调了,或许做法是假的。

T3 什么玩意。

T4 送了 \(18\) 分。性质好像都不太会做。写吧。

\(0+0+0+18\)

总结

不足:

  • T1 不会做。
  • T2 调试没删。
  • T2 部分分不会做。
  • T4 性质不会做。

脑子跟被吃了一样,啥也不会。

知识点

T1:数学

T2:倍增

题解

A. 排序

\(f(i,j)\)\(i,j\) 在二进制下最高的不同位。

\(a_i \ne a_{i+1}\) 的情况下,如果想让 \((a_i \oplus x) \le (a_{i+1} \oplus x)\),那么 \(x\) 的第 \(f(a_i,a_{i+1})\) 二进制位是唯一确定的。这取决于 \(a_i < a_{i+1}\) 还是 \(a_i > a_{i+1}\)

所以判断矛盾就很好做了。

然后一次单调修改只会影响 \(\mathcal O(1)\) 个位置。这些位置重构即可。

真服了这么简单为啥想不到。真服了这么简单为啥想不到。真服了这么简单为啥想不到。

B. 交换

注意到对于 \(i_0=j,i_1=j+\operatorname{lcm}(n,m)\),有 \((b_{i_0 \bmod m}+i_0)\bmod n = (b_{i_1 \bmod m}+i_1)\bmod n\)

也就是说每 \(\operatorname{lcm}(n,m)\) 次操作后,交换的两个数的位置是相同的。

所以求一个排列 \(p\) 表示第 \(i\) 个数经过 \(\operatorname{lcm}(n,m)\) 次操作后,\(a_i \gets a_{p_i}\)。用倍增让它跳 \(\lfloor t/\operatorname{lcm}(n,m) \rfloor\) 次。最后剩下的 \(\operatorname{lcm}(n,m)\) 次暴力。

这玩意就能过 \(60\) 分。

真服了这么简单为啥想不到。真服了这么简单为啥想不到。真服了这么简单为啥想不到。

考虑正解。

首先如果 \(m\)\(n\) 的倍数那么跟上面做法一样。

考虑 \(m\) 不是 \(n\) 的倍数的情况。

——官方题解

注意力惊人的出题人。

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

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

相关文章

fastadmin更改上传附件数据库为附件ID

1.后台返回值加入ID application/admin/controller/Ajax.php文件中upload()方法,2处返回值加上附件ID 这样上传文件后,返回值便会多出file_id字段 2.比如添加商品页面 上传商品图,得到file_id;

联想拯救者 Y7000P 2019 PG0 黑苹果

帮小老弟把Y7000P 2019 PG0笔记本安装了黑苹果系统,参考了GITHUB上的一些资料,并对OC EFI进行调整,以兼容macOS15.x参考链接:https://github.com/xiaoMGitHub/LEGION_Y7000Series_Hackintosh/tree/master

Arch linux下把chromeOS安装至btrfs子卷

旧的ChromeOS单独划分一个ext4分区安装,划分的是ChromeOS可用的最大空间,当存储未用满时,这个ChromeOS独占的分区就有很大的浪费。最近Brunch的作者发布了linux安装工具Linuxloops,可以把ChromeOS安装到Btrfs子卷。Linuxloops采用了图形安装界面,不需要提前下载Brunch及Ch…

ZW3DC++调用C#的DLL

C#: using System;using System.Collections.Generic;using System.Text; namespace TestWinform{ public class Class1 {public void openForm() { Form1 form = new Form1(); form.ShowDialog(); }}}C++: #using "C:\\Test…

Windows 10应用商店找回方法

应用商店(Microsoft Store)作为Windows 10系统的重要的组成部分,为用户提供了一个便捷的平台来浏览、下载和安装各类应用程序。 通过Windows PowerShell重新安装应用商店 1:以管理员身份运行Windows PowerShell在Windows 10的任务栏搜索框中输入“Windows PowerShell”。 右…

超详细!Apache Maven下载安装使用教程

前言 在当今的软件开发领域,尤其是基于 Java 平台的项目开发过程中,拥有一款高效、便捷的项目管理工具至关重要。本篇文章将聚焦于在 Windows 10 系统下,为大家详细介绍 Apache Maven 的下载与安装教程,帮助大家轻松上手这款功能强大的工具,更好地管理和构建 Java 项目。 …

新兴数据仓库设计与实践手册:从分层架构到实际应用(三)

本手册将分为三部分发布,以帮助读者逐步深入理解数据仓库的设计与实践。第一部分介绍数据仓库的整体架构概述; 第二部分深入讨论ETL在数仓中的应用理论,ODS层的具体实现与应用; 第三部分将围绕DW数据仓库层、ADS层和数据仓库的整体趋势展开;通过这样的结构,您可以系统地学…

电平标准

一.常见的电平标准有TTL电平标准,RS485电平标准,RS232电平标准 一.TTL电平标准: 逻辑高(1):通常在2.7V以上,典型值为3.3V或5V. 逻辑低(0):通常在0.8V以下,典型值为0V. 二.RS232电平标准: 逻辑高(1):+3V到+15V. 逻辑低(0):-3V到-15V. 三.RS485电平标准: 逻辑高(1…

BUCK变换器功率级分析

1.BUCK变换器 1.1 概述 BUCK变换器(以下简称“BUCK”),其中文名为“非隔离降压式变换器”,它是“三大基本开关拓扑结构”之一,总体来说,正激、推挽、半桥、全桥拓扑都是BUCK的衍生拓扑“相当于BUCK的隔离版本”,BUCK变换器在非隔离功率变换、级联式开关变换器中具有广泛…

synctv在线一起看电影的web应用

可实现多人观看电影,直播 ​​拉取镜像:docker pull synctvorg/synctv:latest一键运行命令:docker run -d --name synctv -p 8080:8080-e PGID=0-e PUID=0-e TZ=Asia/Shanghai-v /vol1/1000/docker/Configs/synctv:/root/.synctv synctvorg/synctv:latest用户名 root 密码 r…

SQLSERVER——XML转数据表输出(E10的PickList转成数据表)

-- 声明 XML 变量并加载 XML 数据 DECLARE @XML AS XML; SET @XML= N<PickListType> <Name>UDF_COLLECTION_TJ</Name> <DisplayName>收款条件</DisplayName> <Items> <PickListItem> <Id>合同签订</I…

真正的高效神器!这款工具让办公不再受限于时间和空间!

碎片化时代的办公难题:你的工作为什么越来越难? 在信息高度碎片化的今天,办公场景已经发生了巨大的变化: 多设备切换频繁:你可能上午在电脑上处理报告,下午在会议室用平板展示方案,晚上回家用手机跟进工作进度。 随时随地的协作需求:远程会议、跨部门沟通、即时反馈,让…