ICPC2025成都 游记

news/2025/10/29 6:03:17/文章来源:https://www.cnblogs.com/seium/p/19170343

省流

从失败到失败,我是打铁大王吧。

10.27

内含剧透,请vp后再来。

不是题解!!!!!!!

赛前

省略一些与比赛无关的东西,只剩下了两件事。一个是赛前几天基本没做题没复习还自我感觉良好,寄了纯属自找,另一个是赛前睡不着可能总共睡了两个小时,但基本没有影响我的发挥和状态,所以还是自己纯菜。

赛时

比赛开始,Moemi 按他的节奏选择倒开,我于是选择从前往后读。A 题要求给了一个长度为 \(n \leq 2e5\) 的数列,其中第 \(i\) 个数代表这个数在整个数列中占总和的百分比,四舍五入到个位。要求构造一个序列使四舍五入后每个数百分比满足给出的,或输出不能构造。我感觉这题比较签,不过 Moemi 此时正在读 M 题,我和他说了一声 A 比较签,不过他没特别在意。他读完 M 之后觉得不可做,于是我们看榜,发现 jiangly 他们过了 G,我想着他们队的榜不太可信,但是 Moemi 说还是跟榜,于是我们去看 G 题。
G 题给了 \(1 \leq k \leq n \leq 1e18\)\(m \leq n\),要求把 \(n\) 的排列中不超过 \(m\) 个数改成任意数,然后进行删掉一个 gcd 为 \(k\) 的子集,问最多能删多少次。Moemi 很快和我提出没有修改的情况就是把 \(k\) 的倍数取出来,然后奇偶倍数两两配对,\(k\) 本身一次,然后再修改把没用到的变成 \(k\),我思考了一会认为没有问题,他上机写。
然后我去看 J 题,没什么可说的,很快确定是模拟题,随后我回去看 A。没多久 Moemi 把 G 写完,带着我过了一遍,发现有情况没考虑到,他改完后交了一发通过,随后我上机码了 G,花了七分钟,在 \(32min\) 通过。此时罚时 \(57\),在银牌区。
然后我给 Moemi 讲了 A 的题意,然后和他说可行性就是所有百分比加和的差值之和再和 \(n\) 去搞一下,然后考虑构造就行了。他说可以直接乘二,然后 \(0.5\) 的差距就可以变成一,然后直接和 \(n\) 比较就行了。最后再把所有的值直接按照乘二的输出。于是我上机去码,结果挂了。Moemi 说让我去写 A 他去做下一题 B。查了一会,我想到 \(0\) 是不能减一的,然后特判了 \(0\),不过还是挂了。
B 题是有 \(n \leq 6\) 个选项,每个选项如果选择会增加这一轮的花费 \(c_i\),增加答案 \(w_i\),如果连续两轮选择同一个选项那么这个选项的花费在后一轮会额外增加 \(k\)。问在保证每一轮花费不超过 \(m\) 的情况下答案最大为多少,轮数为 \(1e9\)。Moemi 说考虑 dp 然后形成一个图,但然后就不知道怎么搞了。我看到 \(r\) 的范围,认为这个题不应该出现优化 dp 一类的知识点,于是猜了一个贪心,就是除了首尾外中间的情况会是某两个状态一直互相转化。于是他上机开始写,我继续看 A。
他在写的时候,我看到 A 对输出的答案最大值有限制,想到 A 可以把所有数全部都变成最小的可能性,然后把不足的百分比均分给每个数,然后如果均分的那个值不小于 \(1\) 则不能构造出来,然后输出的值尽可能按照原来的比例放到最大然后验证,如果也不行就失败。然后他写完 B 挂了两发,我上机写了我的想法,结果又挂了。我查了一会想到是没有考虑比例较大,直接最小的情况就是答案的,加上后又挂。经检查发现是变量写错,在 \(203min\) 以四发罚时通过,深陷铁牌。
在他码 B 的途中,我看了 L 题,树上每个节点有两个值 \(a_i\)\(b_i\),求每个子树内所有的 \(a\)\(b\) 中能否两两对应,其中 \(0\) 可以与任何值配对。认为线段树合并可做,但我肯定要码一段时间,和 Moemi 说了,但他说他没写过线段树合并,于是还是先看了 B。我看了他的代码后说可能最后一个也要特判,而他只特判了开头,修改后又挂了。于是他去看 L 了,说直接是树上启发式合并就可以做,时间剩 \(70min\) 了,他直接上机。
接下来的时间他一直占着机子,但是没调出来,最后的时间我试着改了 B 的几个细节问题,但还是过不了,比赛就结束了。

赛后

用启发式合并补了 L,半个小时秒了。大概的证明就是每次用较小的合并,对于某一个点,他如果每次想要被合并另一个块就要和它一样大,这样最多某一个点就只会合并 \(log(n)\) 次。总共 \(n\) 个点复杂度就是 \(O(nlogn)\),甚至不是均摊复杂度。
然后接着就是补 B 题,从赛场出来就听说了是矩阵快速幂优化 dp,但我不会。回来看这个题,想怎么快速幂优化,发现可以是开一个 \(n^2 \times n^2\) 的二维数组,表示从 \(i\) 状态转移到 \(j\) 状态的最大答案。由于每一轮转移都一样,所以可以视作求一个这样的矩阵的 \(r\) 次运算,然后把两次运算合在一起也不会有影响,就可以用快速幂。而把两个这个矩阵合起来的操作很简单,就是尝试找到两种状态之间所有的连接状态 \(k\) 并尝试,即 \(new[i][j] = \max(new[i][j], dp[i][k] + dp[k][j])\)。需要注意的是矩阵的单位一,要求类似矩阵乘法,就是一个任意矩阵与单位矩阵运算仍为原矩阵,在本题中是一个对角线为 \(0\) 其余均为 \(-INF\) 的矩阵,使用方法和普通快速幂的单位一相同,丢在一开始就行。感觉很多相关的东西还是没理解,要加训这种题。赛时没想到也有觉得铜牌题不应该有这种知识点,感觉 icpc 在知识点需求上是比 ccpc 高的。
实战一把,最主要的感想还是要敢于拿机子吧,以后 vp 的时候都要注意多开以及抢机子,因为 yrjzs 和简相对来说弱一些,以前往往机时没那么紧张而思维难出,这次机时分配也算爆炸了。
不过相比这一把打铁,回看上个学期做的规划,可以说彻底爆了。当时的安排是暑假前上紫,暑假打上橙名,区域赛拿到两银两铜起,结果除了第一个要求在当时靠运气蹭了一下,别的全都爆了。这么搞下去就没有未来了,还是要加训,和队友说是要拿一个铜,但我还是想试着冲一下银,或者不拿银感觉就废掉了。
接下来要把比赛这种东西看轻一点,不能因为比赛断掉训练。毕竟在可以预见的未来是要打四场的,如果每周少个三四天那也就不用学了。以及加大训练强度,调整到每天二十题,争取可以完成吧,whk 之类的就先放一放吧,到十二月再速通以及上课刷刷脸。
没时间可以浪费了。

2025年10月29日

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

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

相关文章

应用安全 --- vmp流程

应用安全 --- vmp流程VMP (2.0.3-2.13) 寻找OEP详细教程 📋 前置准备工具: OllyDbg / x64dbg / IDA Pro 插件: OllyDumpEx、Scylla(用于后续dump) 目标: 被VMP保护的程序🎯 方法一:VirtualProtect断点法(经典方…

语言-地图slam ConceptGraphs: Open-vocabulary 3D scene graphs for perception and planning, - MKT

语言-地图slam ConceptGraphs: Open-vocabulary 3D scene graphs for perception and planning,ConceptGraphs: Open-vocabulary 3D scene graphs for perception and planning,好的,​​ConceptGraphs​​ 这篇论文…

语义slam Fusion++ - MKT

语义slam Fusion++ 2. Fusion++的核心思想:范式转变 Fusion++彻底改变了游戏规则。它不再将世界看作一个统一的几何空间,而是将其看作由​​背景​​和​​多个独立的物体实例​​组成的集合。 思想一:实例级表示…

点云配准 Deep closest point: Learning representations for point cloud registration, - MKT

点云配准 Deep closest point: Learning representations for point cloud registration,

tryhackme-网络安全基础-命令行- Linux Shells-23

tryhackme-Cyber Security 101-Command Line-Linux Shells 房间地址:https://tryhackme.com/room/linuxshells 这是网络安全入门的基础模块的计算机科学基础知识:Linux Shells,序号 01 表示第一篇文章,当你不知道从…

开发Minecraft Forge模组遇到的问题记录

开发工具:IDEA 2022.2.5 JDK:21.0.7 Forge:60.0.11 这里一定要清楚这些版本号,很多问题都是因为版本不兼容引起的,所以先声明使用工具的版本号,接下来踩坑开始(遇到的坑大概率会按照逻辑的先后顺去说明,而不是…

【ESP32 在线语音】 待写 TTS

链接:https://blog.csdn.net/vor234/article/details/138387195?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522dac311b95071f02fedec5ea5a048fdf6%2522%252C%2522scm%2522%253A%252220140713.130102334…

Fusion++ 语义实例分割​​与​​稠密SLAM重建​​在TSDF子图层面进行了深度融合 - MKT

Fusion++ 语义实例分割​​与​​稠密SLAM重建​​在TSDF子图层面进行了深度融合 3. Fusion++ 的完整工作流程 ​​步骤一:基于RGB-D帧的实例分割(每帧)​​输入每一帧RGB-D图像。 使用2D实例分割网络(如Mask R-C…

tryhackme-网络安全基础-命令行- Windows PowerShell-22

tryhackme-Cyber Security 101-Command Line-Windows PowerShell 房间地址:https://tryhackme.com/room/windowspowershell 这是网络安全入门的基础模块的计算机科学基础知识:Windows PowerShell,序号 01 表示第一篇…

【ESP32 在线语音】音频接收的缓存机制和网络发送机制

首先是初始化 I2S 设备中,可能用到了缓存 //初始化 I2S 设备 INMP441Serial.println("Setup I2S ...");i2s_install();i2s_setpin();esp_err_t err = i2s_start(I2S_PORT_0);其中的 i2s_install() 配置了 …

XCPC英语学习day2

2024ICPC昆明 A. Antivicus 在介绍网络流的时候,几乎还没开始讲,pet chicken指出如何解决这个问题。老师惊呼:我们的禽流感太棒了。 ——Roasted-chicken Htrule进入了流感季。 Hyrule由n个城市组成,由m条有向道路…

2025年PFA隔膜阀厂家权威推荐榜:耐腐蚀高纯流体阀门专业制造商,精选PFA/四氟阀门优质品牌解析

2025年PFA隔膜阀厂家权威推荐榜:耐腐蚀高纯流体阀门专业制造商,精选PFA/四氟阀门优质品牌解析 行业背景与发展现状 在半导体制造、生物医药、精细化工等高技术领域,高纯流体输送系统的可靠性与洁净度直接关系到产品…

2025年PFA隔膜阀厂家权威推荐榜:耐腐蚀高纯流体专用阀门,PTFE/FEP/PFA材质隔膜阀源头企业综合评测

2025年PFA隔膜阀厂家权威推荐榜:耐腐蚀高纯流体专用阀门,PTFE/FEP/PFA材质隔膜阀源头企业综合评测 在半导体制造、生物医药、精细化工等高技术领域,高纯流体输送系统的稳定性和可靠性直接关系到生产质量和工艺安全。…

【ESP32 在线语音】音频接收的缓存机制

首先是初始化 I2S 设备中,可能用到了缓存 //初始化 I2S 设备 INMP441Serial.println("Setup I2S ...");i2s_install();i2s_setpin();esp_err_t err = i2s_start(I2S_PORT_0);其中的 i2s_install() 配置了 …

我在iOS/Swift工程中成功编译了HarfBuzz!

我在iOS/Swift工程中成功编译了HarfBuzz!https://github.com/HusterYP/HarfBuzziOS/tree/main 跨端渲染又进一步!!

Python access mysql and insert data batch by batch

pip install mysql-connector or pip install mysql-connector-python -i https://pypi.tuna.tsinghua.edu.cn/simple/create table t2(id bigint primary key auto_increment,firstname varchar(100) not null defaul…

CodeForces-2153D Not Alone

tag: 结论题,一维线性 DPCodeForces-2153D Not Alone tag: 结论题,一维线性 DP给定一个环形序列 \(b\),长度为 \(m\),每次操作可以将一个数加一或减一。 问最少需要多少次操作,可以使序列 \(b\) 中每一个元素至少…

Codeforces Round 1062 (Div. 4)

A. Square?点击查看代码 #include <bits/stdc++.h>using i64 = long long;void solve() {int a, b, c, d;std::cin >> a >> b >> c >> d;if (a == b && b == c && c =…