0108 模拟赛总结

news/2025/1/9 15:14:22/文章来源:https://www.cnblogs.com/DHT666/p/18662199

概况

5 题, 共 4h,我 1,dry 4。

A - X 魔法对

预期:AC,实际:AC。

题意

给定 \(a,b,x\) 三个正整数,可以做若干次操作,每次操作可以把 \(a\) 或者 \(b\) 改为 \(|a-b|\),问能否做若干次操作,使 \(a\)\(b\) 变成 \(x\)

思路

暴力超时,考虑数学。

\(a>b\),则发现把 \(b\) 变成 \(|a-b|\) 是无效操作,因此会把 \(a\) 变为 \(|a-b|\)。又发现,在出现 \(a<b\) 前,会一直执行上述操作,所以考虑一步到位,将 \(a\) 变为 \(a \bmod b\),然后交换 \(a,b\),循环上述操作。

在操作过程中(直到出现 \(0\)),出现 \(a-k\times b=x\)\(a=x\) 或者 \(b=x\),那么有解,否则无解。

B - “或”游戏

预期:AC,实际:WA。

题意

给定长度为 \(n\) 的正整数序列 \(a_i\),和正整数 \(x,k\),可以给任意的 \(a_i\) 一共乘上 \(k\)\(x\),最大化序列的或和。

思路

容易发现乘法操作要一起做,且做在尽量大的数上,考虑给某个数乘上 \(k\)\(x\)。在二进制位的层面上,位数最高的数乘出来位数一样的,由于或运算的特性,最终的或和会补充低位的空缺,于是不能确定在某个数上做乘法一定或和最大,为了方便,枚举每个数来乘 \(k\)\(x\),求最大值,具体实现可以用前、后缀或和来辅助处理。

为什么没做对?

想到给最大的数做乘法,但怕错,就写了个 DP,表面看起来很对,但或运算是不满足最优子结构的,也就是说这一步的最优不一定能用到下一步的最优中去。

所以在 DP 时要想清楚问题要求什么,为什么要用 DP,DP 不是万能的。

C - 离散离心跳跃

期望:TLE,实际:TLE。

题意

一排 \(n\) 个房子,高度为 \(a_i\),从房子 \(1\) 跳到 \(n\),从 \(j\) 跳到 \(i\) 需满足条件之一:

  • \(i=j+1\)
  • \(\max (a_{j+1},a_{j+2}...a_{i-1})<\min(a_i,a_j)\)
  • \(\min (a_{j+1},a_{j+2}...a_{i-1})>\max(a_i,a_j)\)

求最小步数。

思路

DP。

条件 1 好转移,考虑 2。

对于 \(i\),求在 \(i\) 前面,离 \(i\) 最近的大于等于它的数 \(j\),则 \(j+1\sim i-1\) 都可以转移。维护一个单调下降的单调栈,在弹出时转移即可,手推。

3 与 2 类似,也是单调栈。

为什么没做对?

看了眼题就不太会,没怎么思考。

多注意单调栈、单调队列优化 DP 的条件。

D -表格游戏

期望:AC,实际:WA。

题意

给定 \(n\)\(m\) 列的矩阵,若干次操作:删一整行或整列,问能否使矩阵的和为 \(s\),要输出方案。

思路

数据范围是 \(1\le n,m\le 15\),考虑搜索,时间复杂度是 \(O(2^{n^2})\),于是可以用 meet in the middle,折半搜索,优化为 \(O(2^{\frac{3}{2}n}n)\)。具体实现是先枚举行的删除情况,然后枚举一半的列的删除情况,再枚举另一半列的删除情况,用 map 来找匹配的一半即可。

为什么没做对?

想 DP,结果我的 DP 可以乱删,子矩阵不一定代表父矩阵。

要注意数据范围,搜索也有可能是正解(虽然有卡常)。

E - 恢复排列

期望:WA,实际:WA。

题意

定义排列 \(a_i\)\(s\) 数组:\(s_i\) 表示在 \(a_i\) 前面且小于 \(a_i\) 的数的和。给定一个排列 \(a_i\)\(s_i\),构造出 \(a_i\)

思路

观察样例,考虑 \(0\) 表示什么,即前面没有比它小的数,如果有多个 \(0\),那么最后一个 \(0\) 一定可以填最小的数,所以考虑 \(n\) 轮,第 \(i\) 轮找到最靠后的 \(0\),把它设为 \(i\),再把它后面的数减 \(i\)。用线段树可以完成。

为什么没做对?

如何构造是想到了的,但不会实现,这是真不应该。

多练。

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

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

相关文章

生产管理新境界:JIT模式引领高效制造革命

JIT模式是一种高效、灵活的生产管理方式,它要求企业在精确预测市场需求的基础上,通过优化生产流程、减少浪费、持续改进等手段降低成本、提高效率并增强竞争力。然而,JIT模式的实施也面临诸多挑战,需要企业采取相应的应对策略来确保成功实施。JIT(Just-In-Time)模式,即准…

【Cobalt Strike】UDRL简单配置

cs4.9的下载、解压和连接server不写了,网上有的。 以下kit的链接: https://pan.baidu.com/s/1mu6rpmHoGQ-lTPmSll14tg?pwd=test 提取码: test 下载好visual studio2022和C++所需要的相关插件网上也都有,简单的就不写了。 将cs启动好把下载的套件解压出来,找到UDRL-VS,找到…

BFS

BFS(广度优先搜索,Breadth-First Search)是一种用于遍历或搜索树或图的算法。它的核心思想是从起始节点开始,逐层向外扩展,先访问离起始节点最近的节点,再访问更远的节点。BFS通常使用队列(Queue)来实现。BFS的核心思想逐层扩展:从起始节点开始,先访问所有与起始节点…

医疗机构的文档协作危机,该如何迎接挑战?

医疗行业协作的核心痛点:文档共享与实时编辑难题 在医疗保健机构中,团队协作至关重要。无论是日常诊疗信息的记录,还是多学科诊疗团队(MDT)的沟通与决策,都需要快速、高效且安全的文档共享与协作方式。然而,传统的纸质记录或本地文件存储方式,存在如下显著问题:信息滞…

聊一聊 C#异步 任务延续的三种底层玩法

一:背景 1. 讲故事 最近聊了不少和异步相关的话题,有点疲倦了,今天再写最后一篇作为近期这类话题的一个封笔吧,下篇继续写我熟悉的 生产故障 系列,突然亲切感油然而生,哈哈,免费给别人看程序故障,是一种积阴德阳善的事情,欲知前世因,今生受者是。欲知来世果,今生做者…

2025年必备开源免费项目管理软件,9款工具全面解析,提升工作效率

高效的项目管理对于团队和企业的成功至关重要。无论是小型创业团队还是大型企业,都需要合适的工具来协调资源、跟踪进度、管理任务。开源免费的项目管理软件因其灵活性、可定制性以及无需高昂成本的特点,成为了众多团队的首选。本文将为您详细介绍9款2025年必备的开源免费项目…

CDS标准视图:银行对账单行项目 I_BankStatementItem

视图名称:银行对账单行项目 I_BankStatementItem 视图类型:基础视图 视图代码:点击查看代码 @AbapCatalog.sqlViewName: IBANKSTATMENTITM @AbapCatalog.compiler.compareFilter: true @AbapCatalog.preserveKey: true @AccessControl.authorizationCheck: #CHECK @EndUserT…

智能电网巡检与传感器数据自动分析:3大AI技术助力设备状态实时监测

前言 在智能电网的运行中,设备的实时监测和巡检报告的分析至关重要。定期的巡检报告和传感器数据是确保设备正常运行、预防故障发生的重要依据。然而,传统的人工分析方法不仅耗时,而且易出错。随着人工智能技术的发展,AI系统已能够高效、精准地从电力行业的巡检报告和传感器…

软件系统安全逆向分析-混淆对抗

在一般的软件中,我们逆向分析时候通常都不能直接看到软件的明文源代码,或多或少存在着混淆对抗的操作。下面,我会实践操作一个例子,从无从下手到攻破目标。1. 概述 在一般的软件中,我们逆向分析时候通常都不能直接看到软件的明文源代码,或多或少存在着混淆对抗的操作。下…

国际认可!天翼云合规领域影响力up!

近日,天翼云科技有限公司成功通过ISO 37301合规管理体系双认证(GB/T 35770-2022/ISO 37301:2021 & CTS GHMS001-2024),标志着公司合规管理和风险控制的管理水平达到国际领先标准,合规体系建设迈上了新台阶。近日,天翼云科技有限公司成功通过ISO 37301合规管理体系双认…

INTO TABLE @DATA内表与定义内表的区别

1、两者的区别 DATA定义的内表,会将内表中的字段作为关键组件。 而通过SELECT查询时用INTO TABLE @DATA产生的内表,没有对应的关键组件 两者的区别2、影响 因为新语法产生的内表没有关键组件,所以在LOOP或READ中不能使用DELETE TABLE tab FROM wa_tab.语句进行删除 运行下边…

从极端环境的应用中解析强固型工控机与工业工控机的差异性

一、强固型工控机:设计原理与应用 强固型工控机(Rugged Industrial PC)是专门为了在极端和恶劣环境中稳定运行而设计的电脑设备。这些环境通常包括高强度振动、极端温度、高湿度以及多粉尘等不利条件,为了应对这些挑战,强固型工控机在设计之初就充分考虑这些严苛的环境因素…