MX-S 10-25 比赛总结

news/2025/10/26 16:40:29/文章来源:https://www.cnblogs.com/-jz8-/p/19166996

比赛链接

好消息:永康喵喵这回没翻车,没有爆零或挂分!

坏消息:T2 这道唐题竟然没看懂题意,相当于不知道怎么踩油门!

T1

一道非常简单的贪心。虽然现在看来十分简单,但是在场上想了好多种假的做法,毕竟贪心这种东西的核心就是连蒙带猜。不过最后还是场切了。

简单说来,就是从左到右遍历每一根杆子,先尝试往左放,如果放不了就往右放,如果还是放不了就放弃。

T2

如果读懂题意,这道题就是完全的唐题。可惜我这四个月来学了不少东西,却不知道二分图是什么,遗憾离场。

什么是二分图呢?简单来说,这种图的点可以划分为两部分,使得同一部分中的点没有直接相连的边。

那么问题就很简单了。我们可以把左边和右边的点分别进行排序,然后计算出 \(\max(b_i - a_i, 0)\) 的前缀最大值和 \(\max(b_{i+1} - a_i, 0)\) 的后缀最大值,然后对于每一个 \(i\),计算出 \(\max(\mathrm{premax}_{i-1}, \mathrm{sufmax}_{i})\),最后把答案按原顺序还原输出即可。

#include <bits/stdc++.h>
const int N = 2e5+10;
typedef long long ll;
int n, a[N], b[N], pre1[N], suf2[N], order[N], ans[N];int main() {std::ios::sync_with_stdio(false), std::cin.tie(0);std::cin >> n;n++;for (int i = 1; i <= n; i++) {std::cin >> b[i];}for (int i = 1; i <= n - 1; i++) {std::cin >> a[i];}for (int i = 1; i <= n; i++) {order[i] = i;}std::sort(order+1, order+1+n, [](int x, int y) {return b[x] < b[y];});std::sort(a+1, a+n);std::sort(b+1, b+1+n);for (int i = 1; i <= n - 1; i++) {pre1[i] = std::max(pre1[i-1], std::max(b[i] - a[i], 0));}for (int i = n-1; i >= 1; i--) {suf2[i] = std::max(suf2[i+1], std::max(b[i+1]-a[i], 0));}for (int i = 1; i <= n; i++) {ans[order[i]] = std::max(pre1[i-1], suf2[i]);}for (int i = 1; i <= n; i++) {std::cout << ans[i] << ' ';}std::cout << '\n';return 0;
}

T3

这道题的测试点数据设计真是太妙了,每个测试点的数据范围都不一样且递增,具有很好的区分性。

言归正传,这道题要求 \(1 \sim n\) 中每个数的因数的异或和的异或和。如果你注意力惊人,可以注意到,对于每个因子 \(d\),它在最终答案中出现的次数即为 \(\lfloor \frac{n}{d} \rfloor\),且只有当 \(\lfloor \frac{n}{d} \rfloor\) 为奇数时,才会被计入最终答案。因此,题意可以转化为:

求所有满足 \(\lfloor \frac{n}{d} \rfloor\) 为奇数的 \(d\) 的异或和。

这道题很多人(包括我的 DeepSeek)的第一反应应该是数论分块。然而当你兴高采烈地提交这样的代码,就会发现最后一个测试点以 1037 ms 成功 TLE。在 AeeE5x 大神的指导下,我尝试使用了根号分治:对于\(x < \sqrt{n}\),枚举因子;对于 \(x > \sqrt{n}\),枚举 \(\lfloor \frac{n}{x} \rfloor\)

#include <bits/stdc++.h>
typedef long long ll;inline ll xorSum(ll n) {switch (n & 3) {case 0:return n;case 1:return 1;case 2:return n + 1;default:return 0;}
}int main() {freopen("div.in", "r", stdin);freopen("div.out", "w", stdout);std::ios::sync_with_stdio(false); std::cin.tie(0);ll n;std::cin >> n;register ll ans = 0;ll sqrtN = sqrt(n);for (ll x = 1; x <= sqrtN; x++) {if ((n / x) & 1) {ans ^= x;}}for (ll k = 1; k <= sqrtN; k++) {if (k & 1) {ll l = n / (k + 1) + 1;ll r = n / k;if (l <= sqrtN) l = sqrtN + 1;if (l > r) continue;ans ^= xorSum(r) ^ xorSum(l - 1);}}std::cout << ans << '\n';return 0;
}

请注意以上代码使用了快速计算连续整数异或和的技巧。

总结

菜就多练,学得少就多学。

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

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

相关文章

7天阅读betaflight

main就做初始化和 scheduler() 分配任务。 前情提要:common_pre.h、target.h 、common_post.h 三者的关系:feature配置都在里面了喵 ┌──────────────────┐ │ common_pre.h │ 全局默认配置…

学弟模拟赛题解报告 - idle

验题报告 by idle_onlooker T1sword 比较简单晦气的模拟。 注意点:1.输出的 \(id\) 是初始编号而不是当前位置。 2.使用【寒川映月】时记得判断两边是否都有人。 3.如果受到伤害大于当前血量则输出为当前血量。最后按…

鱼书学习笔记

第一章 python入门 1.4.2 类 用户自己定义新的类,可以自己创建数据类型、类的函数和属性。 class 类名:def __init__(self, 参数, ...): #构造函数...def 方法名1(self, 参数, ...): #方法1__init__是进行初始化的方法…

2025年店铺装修设计施工一体化推荐榜单:服装店/化妆品店/火锅店/商场店/餐厅/健身房/美容美发/珠宝店等专业装修公司精选

2025年店铺装修设计施工一体化推荐榜单:专业装修公司深度解析 在商业空间竞争日益激烈的今天,店铺装修已不再仅仅是简单的美化工程,而是直接影响品牌形象、顾客体验和经营效益的关键因素。随着消费者对购物环境要求…

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

20232423 2025-2026-1 《网络与系统攻防技术》实验三实验报告20232423 2025-2026-1 《网络与系统攻防技术》实验三实验报告 目录一、实验内容 二、实验要求 三、实验环境 四、学习内容 五、实验过程5.1 查看msfvenom支…

基于Sharding-JDBC的读写分离

1.整体架构2.详细配置 2.1 pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001…

2025年空调维保/末端保养/空调清洗/水处理厂家推荐排行榜:专业维护与高效服务口碑之选

2025年空调维保/末端保养/空调清洗/水处理厂家推荐排行榜:专业维护与高效服务口碑之选 随着现代建筑环境标准的不断提升,中央空调系统的维护保养已成为保障室内空气质量、降低能耗成本的关键环节。在工业、商业及公共…

XML-RPC接口安全漏洞分析与防护

本文详细分析了XML-RPC接口安全漏洞,包括pingback.ping和system.multicall方法的滥用风险,可能导致DDoS攻击和暴力破解放大攻击,严重影响网站可用性和安全性。XML-RPC接口启用且可访问漏洞报告 摘要 网站███启用…

102302135_陈霖_作业1

102302135_陈霖_作业1第一题 核心代码与运行结果:点击查看代码 import requests from bs4 import BeautifulSoupurl = "http://www.shanghairanking.cn/rankings/bcur/2020"resp = requests.get(url) resp.e…

InnoDB 存储引擎

1. 逻辑存储结构InnoDB 的逻辑存储结构是其管理数据、支撑核心能力的底层骨架,它以 “表空间→段→区→页→行” 的五层架构,将数据从宏观存储容器到微观记录层层划分。这套结构不仅决定了数据在磁盘的存储与访问规则…

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

1.实验内容 主要是各种工具和命令的使用 (1)MSFVenom编码器使用,生成EXE、JAR、PHP、Python等多种格式文件 使用-e参数选择编码器,如x86/shikata_ga_nai 使用-i参数设置编码次数 使用-f参数指定输出格式 (2)Veil…

2025年中央空调主机保养/维修/清洗/维保/维护公司推荐排行榜,水处理维保,物业公司/医院/写字楼/商场中央空调主机维保公司精选

2025年中央空调主机保养/维修/清洗/维保/维护公司推荐排行榜,水处理维保,物业公司/医院/写字楼/商场中央空调主机维保公司精选 行业背景与发展趋势 中央空调系统作为现代建筑的重要组成部分,其运行效率与稳定性直接…

251025 模拟测 总结

挂得很惨,分数就不说了。 Pro.A这种题目都做不出来,我可以退役了,哇哦!其实很简单的,想复杂了。 弄一个递归,考虑每种情况——由于这个所谓 \(c\) - 好串是有一侧全是 \(c\) 还有一侧是 \(c+1\) - 好串,可以把左…

参考文献

Charles M, Ochieng S B. Strategic outsourcing and firm performance: a review of literature[J]. International Journal of Social Science and Humanities Research (IJSSHR) ISSN, 2023, 1(1): 20-29. Kocot D,…

[java 锁 02 - synchronized vs ReentrantLock ]

ReentrantLock 是 JDK 提供的手动锁(位于 java.util.concurrent.locks 包),与 synchronized 同为可重入锁,但用法和特性有显著区别。下面从 用法、核心区别、适用场景 三个维度对比,讲清楚它们的“讲究”: synch…

AI Agent 与 Agentic AI 系统:真正的区别是什么?

大多数人把这两个词混用——但一个负责执行任务,另一个旨在达成目标。教你如何区分(以及各自的适用场景)。先来澄清当下 AI 讨论中最常见的一处混淆。 你可能经常看到大家把“AI agent”和“agentic AI system”当成…

2025 年 10 月门窗十大品牌榜单揭晓,聚焦专业制造与品牌口碑的品质之选

2025 年 10 月门窗十大品牌榜单正式揭晓,该榜单由中国建筑金属结构协会、全国工商联家具装饰业商会联合发布,是行业内兼具权威性与公信力的综合实力评选结果。本次评选突破传统单一性能评估框架,以《铝合金门窗》(…

[LangChain] 09.LCEL

LangChain Expression Language,是 LangChain 提供的一种声明式构建 链式 调用流程的方式。它允许开发者用 .pipe() 操作符将不同的模块(如提示模板、模型、解析器等)连接起来,形成一个完整的“链(Chain)”。 LC…

2025年饮料包装设备厂家权威推荐榜:缠膜机/吹瓶机/膜包机/杀菌机/水处理/套标机/贴标机/洗瓶机/卸垛机/旋盖机/液氮机/装箱机/灌装生产线/一条龙生产线/配件/灌装机

2025年饮料包装设备厂家权威推荐榜:缠膜机/吹瓶机/膜包机/杀菌机/水处理/套标机/贴标机/洗瓶机/卸垛机/旋盖机/液氮机/装箱机/灌装生产线/一条龙生产线/配件/灌装机 行业背景与发展趋势 饮料包装设备行业作为食品工业…

算法与数据结构 9 - 重链剖分

引言 尽管有些题会卡重链剖分,但它仍是一种强大的树上问题处理工具。 在许多资料中,『树链剖分』默认指重链剖分,因为它用得最多。本文明确区分『重链剖分』和『树链剖分』。 重链剖分 定义 本文中『树』默认为有根…