10.30 模拟赛

news/2025/1/18 10:55:04/文章来源:https://www.cnblogs.com/2huk/p/18516381

复盘

T1。好像很好做。先想了一个 \(\mathcal O(n |c_{i,j}|^2)\) 但是带四倍常数的做法。感觉加上一些优化和卡常后问题不大。于是开写。

代码好长!!!调试好久!!!

调完后样例 6 跑 20s,最终优化后还是 7s。实在优化不了了于是考虑换做法。

发现枚举三条边后,剩下的用类似扫描线边扫边用树状数组维护即可。复杂度跟上面一样,但是没了四倍常数,而且树状数组跑的飞快。于是写。

然后又调了好久。

最后样例 6 2.7s。时限 2s 但实在优化不动了。弃之。

笑点解析:

结果就样例 6 超时。

T2。二分是肯定的。然后呢?特殊性质是什么玩意?

哦性质 C 好简单写了。\(n \le 20\) 好简单写了。然后没一点思路。

T3。出题人l了t大的。化身总司令跑路。

T4 什么牛魔题面?\(k \le [2,4]\)?哦 \(k=2\) 就是个二维数点模板题。快写。

然后没写完。

预期 \(?+45+0+0\),实际 \(100+50+4+0=154\)。T1 竟然过了。T2 算错分了,确实应该是 \(50\)。T3 过了 \(T = 1\)???

总结

  • 好的:
    • T1 过了。
    • T2 想到了二分(虽然是最简单的一步)
  • 不足:
    • T4 丢了 \(17\) 分。
    • T3, T4 读懂题的时间太晚啦。

知识点

  • T1:枚举,二维数点。
  • T2:二分,猜结论。

题解

A. 消毒

我们为每种病毒,画一个能完全包含住所有这种病毒的矩形。那么问题就变成了,选择一个面积 \(\le S\) 的矩形,使得其包含的病毒矩形数量最大。

注意到病毒矩形只有 \(500\) 种,而答案矩阵的边如果能贴着某个病毒矩形的边一定更优。也就是说答案矩形的上下左右边界分别只有 \(500\) 种可能的取值。

不妨枚举上下边界。然后把所有不在这两条线内的病毒矩形删掉。

再枚举左端点 \(l\)。此时最大的右端点 \(r\) 可以直接算出来。于是问题变成了,快速求没被删除的子矩阵中,左边界 \(\ge l\),右边界 \(\le r\) 的数量。这是一个二维数点问题,树状数组即可。

复杂度 \(\mathcal O(|c_{i,j}|^3 \log n)\)。加上一些小优化后可过。

B. 卡牌

首先二分答案。我们需要判断:是否存在一种操作方法,使得第 \(m\)\(\ge mid\)

我们将 \(\ge mid\) 的数看作 \(1\)\(< mid\) 的数看成 \(0\)。于是我们要求,有一个 \(01\) 序列,每次将奇数位置上的数写在黑板上,然后选择一个数删掉,这样操作结束后黑板上最多能有多少个 \(1\)。如果这个数量 \(\ge m\) 则 check 合法。

可以证明先将所有 \(0\) 删掉,再将剩下的 \(1\) 删掉是最优的。而所有 \(0\) 删完后剩下的 \(1\) 的贡献可以直接算(设有 \(k\)\(1\),则贡献为 \(\sum_{i=1}^k\lceil \frac i2 \rceil\))。所以我们只需要考虑每一步删掉哪个 \(0\) 最优。

对于一个极长 \(1\) 段,设其长度为 \(k\)。若 \(k\) 为偶数,那么在所有 \(0\) 都删完之前的任意一轮,这其中一定会有恰好 \(\frac k2\) 个被写在黑板上(即这 \(\frac k2\) 个位置是奇数)。若 \(k\) 为奇数,我们单独拿出最左边(或最右边)的一个,那么剩下的也是一个长度为偶数的块。

我们把上面说的偶数块的 \(1\) 的贡献提前计算好再删掉后,整个序列会变成若干个连续 \(0\) 块被 \(1\) 隔开的样子(\(0001000010101001\dots\))。考虑这样一组构造的操作方案:

  • \(\color{red}000\) 全部删掉;
  • \(\color{blue}0000\) 的后三个删掉,变成 \(\color{blue}0\)
  • \(\color{green}0\color{black},\color{yellow}0\) 不做操作;
  • \(\color{orange} 00\) 的最后一个删掉,变成 \(\color{orange} 0\)
  • \(\color{purple}000\) 全部删掉。

  • 最后依次删掉 \(\color{purple} 0\color{black},\color{orange} 0\color{black},\color{green}0\color{black},\color{yellow}0\color{black},\color{blue}0\)

我们计算一下这样的答案。或者说,我们计算一下每个 \(1\) 在几个序列中的位置是奇数。

如何计算答案?这是最难的部分。不想说了只放张图吧(需要分别计算三种颜色的贡献):

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

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

相关文章

20222412 2024-2025-1 《网络与系统攻防技术》实验三实验报告

20222412 2024-2025-1 《网络与系统攻防技术》实验三实验报告 1.实验内容 (1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧正确使用msf编码器,使用msfvenom生成如jar之类的其他文件 veil,加壳工具 使用C + shellcode编程(2)通过组合应用各种技术…

Feign失败重试与全局异常捕获

feign注册 spring加载的时候通过@EnableFeignClients的FeignClientsRegistrar注册扫描所以得FeignClient以及Configuration,最终注册为ReflectiveFeign,最终通过代理类FeignInvocationHandler实现方法的调用,在 FeignInvocationHandler中通过SynchronousMethodHandler方法执…

地下工程和深基坑监测预警系统建设方案

随着城市化进程的加快,地下工程和深基坑工程在城市建设中扮演着越来越重要的角色。这些工程的安全性直接关系到人民生命财产的安全和城市的正常运行。因此,建立一个科学、有效的地下工程和深基坑监测预警系统至关重要。 一、系统建设的必要性地下工程和深基坑工程在施工过程中…

25. 深浅拷贝

一、什么是浅拷贝只对对象的最顶层进行的拷贝称为 浅拷贝。我们可以用 copy 模块中的 copy() 方法实现浅拷贝。import copya = [11, 22, 33] b = [44, 55, 66] c = [a, b] d = copy.copy(c)print(f"c: {c}") print(f"d: {d}") print(f"c == d: {c == …

为什么我越来越喜欢用DDD — DDD架构篇(1)

Hello DDDDDD 是一种软件设计方法,DDD 是指导我们做软件工程设计的一种手段。它提供了用切割工程模型的各类技巧,如;领域、界限上下文、实体、值对象、聚合、工厂、仓储等。通过 DDD 的指导思想,我们可以在前期投入更多的时间,更加合理的规划出可持续迭代的工程设计。 在D…

SpringBoot3.0整合Mybatis-plus实现多数据源(重构类方式)

背景 前段时间在做一个数据中台的项目,系统用到了不同数据库中的数据。自己又不想手写JDBC连接,既然我有这个需求,那功能应该有人实现了,于是开始了网上搜了,搜索后发现基本都是讲读写分离、主备切换的,后面也查略了Mybatis-plus的官网,里面有这个功能,但好像是我组件的…

58. 区间和

题目 本人一开始是这样写的: #include <iostream>using namespace std;const int N = 100010; int n; int s[N];int main() {cin >> n;for (int i = 1; i <= n; i ++ ){int x;cin >> x;s[i] = s[i - 1] + x;}int l = 0, r = 0;while (cin >> l &am…

cin和scanf的返回值知多少

cin的返回值 在 C++ 中,cin 是用于从标准输入(通常是键盘)读取数据的对象。 cin 的返回值实际上是一个流对象(std::istream 类型),可以通过流的状态来检查输入操作是否成功。 以下是一些关于 cin 返回值的关键点:输入成功与失败: 当你使用 cin 进行输入时,可以通过 ci…

多语言 AI 翻译 API 数据接口

多语言 AI 翻译 API 数据接口 ai / 翻译 基于 AI 多语言模型 支持多语言 / 基于模型。1. 产品功能基于自有专业模型进行 AI 多语言翻译 高效的文本翻译性能 全接口支持 HTTPS(TLS v1.0 / v1.1 / v1.2 / v1.3); 全面兼容 Apple ATS; 全国多节点 CDN 部署; 接口极速响应,多…

个人可识别信息(PII) AI 去除 API 数据接口

个人可识别信息(PII) AI 去除 API 数据接口 ai / 隐私保护 基于 AI 模型自动去除个人识别信息(PII) 个人信息保护 / AI 模型 。1. 产品功能基于自有专业模型进行 PII 自动去除 高效处理敏感信息 全接口支持 HTTPS(TLS v1.0 / v1.1 / v1.2 / v1.3); 全面兼容 Apple ATS; 全…

MBR20100CT-ASEMI半塑封肖特基二极管MBR20100CT

MBR20100CT-ASEMI半塑封肖特基二极管MBR20100CT编辑:ll MBR20100CT-ASEMI半塑封肖特基二极管MBR20100CT 型号:MBR20100CT 品牌:ASEMI 封装:TO-220 安装方式:插件 批号:最新 最大平均正向电流(IF):20A 最大循环峰值反向电压(VRRM):100V 最大正向电压(VF):0.70V~0…