CCPC2022绵阳 游记(VP)

news/2025/10/16 8:55:19/文章来源:https://www.cnblogs.com/seium/p/19142405

省流

主包犯蠢浪费 \(150min\),从铜首掉下铜中,\(5t\) 罚时 \(692\)

10.14

内含剧透,请vp后再来。

不是题解!!!!!!!

赛前

晚上叶神有课,提前到 \(12:15\) 开始,我中午吃饭记错时间,迟到了几分钟。

赛时

一开始乱看题目,简很快看到 C 题并认为比较水,我读完题目之后他给我讲了做法,就是一个很简单的树上 \(dfs\),不再赘述。不过我写时没有足够仔细检查变量,又写错变量吃了一发罚时。
我上机时,他们两人去跟榜开了 G 题,说是一个暴力,我码完之后没多久叶神就上机了。然后我和简一起去看 M 题。M 题给了一个长度为 \(n \leq 1e6\) 的序列,每个格子为石头,剪刀,布中的一个,然后往上垒成一个类似杨辉三角形状的三角形,两个格子之间的高一层的格子为下面这层获胜的或平局的,问最后最上面的格子是什么。我提出了几个猜想,都挂了。
此时叶神那边的模拟挂了两发,我紧急停止了他的码,让他一步步给我讲,讲完发现多加了一行错误的特判,改完了通过,在 \(53min\) 以两发罚时通过,然后我们一起看 M。
\(70min\) 左右时,我说 M 题看太久了要紧急换题,于是看榜发现 H 过的人数更多,于是我和叶神去看 H。H 是一个康威生命游戏,要求构造一个图案使在第 \(t\) 时间变成全部死亡。叶神很快提出了摆一横排 \(2 * t + 1\),这样每个时间就是把两边的消掉。此时我犯下了第一个重大错误,就是没有按照赛前的要求 \(hack\) 队友五分钟,我直接就觉得他很多,结果码完挂了。然后我发现横着放一排的话上下两排就会出现新的活的,就挂掉了。然后叶神思考了一秒说斜着放就可以,改了一下交了一发过了。此时 \(82min\)。然后我们接着看 M,在 \(100min\) 左右简和我提出了一种新的做法,就是一开始全部假设后赢前,当遇到一个前赢后时就一直往后找看能不能找到一个相同但反过来的,如果有就回到后赢前,否则结果就是这个前赢后的前。我第二次犯下了没 \(hack\) 队友之罪既没证明也没构造数据,就告诉简没问题。结果他上机写挂了。
简上机的时候我和叶神一起去看 A,A 题是有两个人,每人有两个互不相同的大小为 \(n \leq 1e5\) 的英雄池,每个英雄有一个影响值,每次两人按顺序选择自己一个英雄或禁掉对手一个英雄,每人最多选择 \(k \leq 10\) 个英雄,两人希望自己占优,问最后两人差值。一开始没看到 \(k\),我看到 \(k\) 很小之后想到可以 \(DP\),三维分别是第几个,第一个人选了几个和第二个人选了几个。于是简单说了一下,叶神没听懂。此时我犯了第三个错误,就是没给队友讲清楚就上机写,结果不但占了机时还发现从前往后 \(DP\) 的逻辑是错误的,前面某一刻的最小或最大不一定对后面的就是最小或最大,于是下机。
简和叶讨论了一会,叶指出了简的一个问题。就是当一个大层锁住了一长串时,如果内部又出现了前赢后的,内部也会像外面的一样锁住,如果锁住的部分出现了外层的解锁的也不可以解锁。在 \(169min\) 简以一发罚时通过了这题。
接着我们长时间花在 A 题上,我随便提了一种很假的方法,但想着验证一下就写了个暴力,不过暴力刚写完简就说假了。我又想倒着 \(DP\) 不就可以把后效性干掉,但怎么也写不出状态转移的具体形式。
此时叶神突然说他对 E 有想法,我们了解了一下发现想法很对,但我大手一挥说剩一个小时我们想出优化也写不完就不让他们想了。然后我突然想到 A 题我暴力既然也只有那三个变量,那我直接记忆化不就行了,而且还相当于直接是从后往前的 \(DP\),就过了。此时 \(270min\) 一发入魂通过。

赛后

这场最大的问题在我,我多次没有 \(hack\) 队友,以及没有和队友沟通我的思路,导致本来可以快速通过或者不吃罚时的题目都可以拿到一个更好的成绩。同时我们确定了半个小时没有思路就换同档题目的做题策略,让我们的稳定度可以更好一点。
和教练聊天,虽然有一站区域赛让给别人了,虽然心有不甘但学长要退役了,让学长打满也很正常,没有怎么难过。然而新来了一个大一的小朋友(其实和我同届),查了一下 \(CSP-S\) 打到过两百多分,最后一场 \(cf\) 打到了 \(div1+2\) 的两百多名,表现分大概 \(2400\) 左右,非常震惊。
先说补题,先看了一道排行榜上过的人很少,但题解里靠前的 D。题目给出了一些赌徒,每人认为曼联胜的概率为 \(p\),曼城胜的概率为 \(1-p\),每人有一定的资金,如果他认为的某队胜的概率乘赔率高于 \(1\) 则会将全部资金投入。要求你给出曼联和曼城获胜分别的赔率使在最坏情况下获利最多。把这些人按曼联胜率排序后,显然给定两个概率会使两端的一部分人投相应的队伍获胜,此时可以考虑三分或者双指针。由于担心构造特殊数据出平台卡三分,所以我选择写双指针,但我一开始以为是两者赔率倒数之和大于 \(1\),但实际上这个是底线并不是最好的情况。正确的双指针转移方式是枚举一端,另一端考虑刚好大于这一端如果获胜的钱和刚好小于这一段如果获胜的钱这两种情况。由于增大一端只会让如果获胜的钱变多,所以另一端也是不断变长。然后就是要注意两人认为胜率相同的情况以及输入输出优化了。
最后补已经基本有思路的 E。E 题各种数据范围都是 \(1e5\) 级别,给了一张带权图,图里每个点上住着一些人。有一个锤子顺序,按顺序砸一些点,被砸的点所有人都要跑到别的点,跑路花费是边权乘人数,问所有锤子砸完后花费最少为多少。赛中叶神敏锐的发现这个倒序处理之后更改每个点花费的值,然后上一个点接着用就行了。但是每次遍历所有边是 \(n^2\) 的,赛时我就不让他们思考了。赛后 \(Moemi\) 跑过来说了一声根号分治,恍然大悟。可以把小点直接暴力修改所有的边,并塞给周围所有点的 \(set\),大点则是只修改本身的值,需要用到时直接遍历。但这样直接存储所有相连的小点的最小值多了个 \(log\),虽然能过但复杂度不好看很极限。考虑到大点的修改只用了 \(O(1)\),想想怎么用大点的修改来均摊一下小点修改多的 \(log\)。看题解发现使用的是按时间分块,每次一个大点查询时只查最近一个时间块的前 \(B + 1\) 个最小的,这样一个时间块内最多修改 \(B\) 个所以只有这些里面可能出现答案。
实现时,由于 \(DP\) 值可能在修改后变小,所以大点的查询还要再额外查询所有在这个块内修改过的点。以及因为是从后往前的,所以按时间分块时也要从后往前分块,我直接从前往后分块了,其实是完全错误的,挂了很多发。

2025年10月16日

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

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

相关文章

2025 年电缆桥架生产厂家最新推荐排行榜:含北方 / 河北 / 瓦楞 / 防火 / 模压 / 镀锌桥架品牌及合作案例盘点

在电力传输、建筑基建等关键领域,电缆桥架作为线路支撑核心设备,其质量直接决定工程安全与运维稳定性。当前市场中,部分厂家存在工艺粗糙、防腐性能不足、承重不达标等问题,导致桥架寿命缩短、线路故障频发,增加企…

详细介绍:[创业之路-640]:通信行业供应链 - 通信网的发展趋势:IP化统一 、云网融合 、算网协同 、FMC(固定移动融合)、空天地一体化

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年胰岛素泵厂家最新推荐排行榜:国产实力厂家技术、口碑及全场景适配方案全景解析软针植入/平衡式留置针/无异物感胰岛素泵厂家推荐

随着糖尿病患者对精准控糖需求的不断提升,胰岛素泵作为核心治疗设备,其技术迭代速度与产品适配性备受关注。当前市场中,既有深耕多年的成熟品牌持续创新,也有新兴企业凭借差异化技术崭露头角,但产品质量、输注精度…

2025 年国内磨床厂家最新推荐榜:聚焦平面磨床外圆磨床等品类,助力企业精准选优质设备

当前磨床市场品类繁杂,平面磨床、外圆磨床、数控磨床等产品质量差异显著,众多企业在选购时常陷入困境。部分厂家缺乏规范质量管控,设备精度与稳定性不足,难以适配汽车、军工、工程机械等行业高标准加工需求;还有厂…

2025 年加工中心厂家最新推荐榜:覆盖立式、卧式、龙门及 850 等多规格设备,帮采购方高效选实力厂商

当前加工中心市场厂商数量繁杂,产品质量、技术实力及服务水平差异显著,汽车摩托车、军工、工程机械等行业采购方在挑选设备时,常因信息不对称难以精准定位符合需求的品牌。部分厂商技术研发薄弱、产品同质化严重,无…

进程的内存管理

> 「C语言进程虚拟内存」:栈、堆、数据段、代码段各自职责、生命周期、典型API 。一、虚拟内存总览:四个大区 任何一个程序,正常运行都需要内存资源,用来存放诸如变量、常量、函数代码等等。这些不同的内容,所…

深入理解Java内存模型与volatile关键字:从理论到实践

1. 引言:为什么需要理解内存模型? 在多核处理器成为主流的今天,并发编程已成为每个Java程序员的必备技能。然而,编写正确的并发程序远比单线程程序复杂,主要原因在于我们需要处理两个核心问题:线程之间如何通信?…

完整教程:【stm32】cube固件解析和放入工程(HAL_F4)

完整教程:【stm32】cube固件解析和放入工程(HAL_F4)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&q…

312、金缕衣

312、金缕衣312、金缕衣 唐●杜秋娘 劝君莫惜金缕衣,劝君惜取少年时。 花开堪折直须折,莫待无花空折枝。【现代诗意译】 我劝你啊 不要看重华丽衣裳 但是 一定要珍惜 青春年少美好时光花开宜折的时候 就要立即把它摘…

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

前言 在前面的 .NET EF Core 快速入门实战教程章节中我们创建了一个名为 EFCoreGenericRepository 的 .NET 9 通用仓储类库,今天我们来把这个 EF Core 通用仓储类库打包成 NuGet 程序包并发布到 NuGet 官网(https://…

反配容斥

反配容斥模拟赛考了这个 trick,感觉挺牛的。 直接放题。 题意 给定一个长度为 \(n\) 的序列 \(\{ a_i \}\),令全集 \(U = \{ 1,2,3,\cdots,n \}\),定义子集 \(S\) 的权值 \(g(S)=1+\oplus_{i\in S} a_i\)。 我们称集…

怎么激活win11?笔记本重装系统后怎么激活Windows?

我可以肯定99%的人并不完全了解Windows的几种激活方式,或者知其一,不知其二。 windows10 突然右下角出现激活windows? 光广告就能搜索出一大堆,必定广告是要收费的,说明市场是有的,但我这是分享的是免费使用教程…

AVG Clear:彻底卸载AVG产品的专业工具

AVG Clear是一款专业的AVG产品卸载工具,当传统卸载方式失效时,可自动扫描并彻底删除AVG相关的文件、注册表项和安装文件,确保系统完全清理。适用于Windows 10/11系统。AVG Clear 下载 立即在作者网站下载 作者: AV…

深入解析:安卓 WPS Office v18.21.0 国际版

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

现代 PHP8+ 实战特性介绍 Enums、Fibers 和 Attributes

现代 PHP8+ 实战特性介绍 Enums、Fibers 和 Attributes PHP 一直是 Web 开发领域使用最广泛的语言之一。这些年来,它的特性不断演进,每个版本都让语言变得更有表现力、更高效、对开发者更友好。如果你一直在关注最近…

用【WPF+Dlib68】实现 侧脸 眼镜虚拟佩戴 - 用平面图表现空间视觉 - 行人-

一个精致的眼镜3D模型,在模型网站中的售价几百人民币是非常常见的,它的制作成本以及制作周期,对于实际落地的项目来说是一个非常大的阻碍。于是我尝试使用 平面眼镜图 来表现 眼镜在佩戴时的空间感 ,尤其是 侧脸 时…

比 26ai 更震撼的,是 Oracle AI 向量搜索改写的生命答案

比 "26ai" 更震撼的,是 Oracle AI 向量搜索改写的生命答案2025-10-16 08:02 AlfredZhao 阅读(0) 评论(0) 收藏 举报在 Oracle AI World 上,“26ai” 的名字成为外界讨论的焦点,引发广泛好奇与热议。 …

科学背景如何赋能云计算业务战略

本文讲述了一位神经科学博士如何将科研背景应用于云计算业务发展,通过理解科研工作者需求,帮助企业客户将研究负载迁移至云端,加速从原始数据到研究成果的转化过程。科学背景如何赋能云计算业务战略 安德烈亚皮尔斯…

.netframework中自带的dll

.netframework中自带的dllSystem.Data.OracleClient.dll .netframework中自带的dll, "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.Data.OracleClient.dll" ``