2025CSP-S模拟赛4 总结

news/2025/4/1 21:33:32/文章来源:https://www.cnblogs.com/lewisak/p/18801218

2025CSP-S模拟赛4 总结

不能说炸,一是代码能力还要再练,二是这回 T2 屁都没写,三是 T2T3 有一群桂做过原导致有些zwh9997777分有点小高,四是 mol

除了 T1 45pts 都是 0...

T1 序列问题

赛时

考虑 \(dp_{i,j}\) 表示到 \(i\) 时留了 \(j\) 位的最大答案,转移是 \(dp_{i,j}=\max (dp_{i,j},dp_{i,j-1})\) 然后转移完后如果 \(a_i<=i\) 那么再让 \(dp_{a_i,j}=dp_{a_i-1,j}+1\)

然后赛时觉得这玩意大有搞头,滚完之后作为全场唯一的想到了火事的人,一定很厉害吧😎!

虽然但是火事的状态不带修,这题这么说还是加强版。

然后就被硬控了 1h 回忆火事……

正解

考虑 \(dp_i\) 表示到 \(i\)\(i\) 必留的权值,则有:

\[dp_i=max~{dp_{j}+1} \]

其中 \({j<i~\cap ~a_j<a_i~\cap~ a_i-a_j<i-j}\)

考虑优化,注意到当后两个条件满足时,第一个肯定也满足,而第三个条件又可写作 \(a_i-i<a_j-j\) 于是将序列按照 \(a_i\) 排序后对 \(a_i-i\) 跑最长不降子序列即可。

T2 钱仓

赛时

刚开始通读题的时候以为“mol”是什么打炸的 \(\LaTeX\) 然后一直在等 bobo 修题面,然后等 T3 打完回来猛然醒悟“mol”啥也不是时离结束还有 30min,想到正解打伪了然后以为做法是错的遂放弃。

还是建议题目不要用奇怪的自定义量词。

正解

解法来自传奇贪心代师Zpn。

考虑先断环为链后倍增一下,然后从后往前扫遇到零就加入队列中,对于每个非零位如果队列不为空就把最远的给填直到把自己用完或者清空了队列,对于任意 \(i\le n\) 如果当前队列为空或最近的零 \(\ge i+n\) 就可以更新答案。

花絮:

这个做法我和Zxy打的时候不约而同的把q[r]>i+n打成了q[l]>i+n,这样判的就是最远的零而非最近的零但还是能过。

Zxy认为是数据过水没管了,然后我创造性的直接给这个删了让只有队列为空才能更新,还是过了😱。

然后我认为是性质,叫Zxy讨论,我打对拍看数据是不是过水是Zxy直接发现了以下性质:

考虑一个合法区间它的数字和肯定刚刚好是 \(n\)只要给出去一块钱就会有零在区间中出现导致区间不合法,但如果区间外有零遍历区间时肯定会给出去,所以只有队列为空才能更新

花花絮絮:

Zxy认为是卡常技巧想拿最优解然后给判断删了反而多跑 1ms🤣。

这题有点意思反常贴一下代码:

#include<bits/stdc++.h>
#define int long long
using namespace std;
namespace AM{bool st;}
namespace I{
int n,c[200200],q[200200],sum[200200],l,r,ans=1e18;
string main(){
//	freopen("barn.in","r",stdin);
//	freopen("barn.out","w",stdout);cin>>n;for(int i=1;i<=n;i++){cin>>c[i];c[i+n]=c[i];}l=1,r=0;for(int i=2*n;i>=1;i--){sum[i]=sum[i+1];if(!c[i]){q[++r]=i;}else if(l<=r){while(l<=r&&c[i]){c[i]--;sum[i]+=(q[l]-i)*(q[l]-i);l++;}if(!c[i]){q[++r]=i;}}if(i<=n&&(l>r||q[r]>i+n)){ans=min(ans,sum[i]-sum[i+n]);}}cout<<ans<<'\n';return "点击输入标题";
}
}
namespace AM{bool ed;double kj(){return (&st-&ed)/1048576.0;}}
signed main(){cerr<<I::main()<<AM::kj();return 0;
} 

T3 自然数

赛时

被这题草飞了,不知道为啥就一直在写 50pts 而忽略了 T2 的简单正解。

哦是因为“mol”啊 😅。

想了 1.5h 才考虑到 \(mex\) 不可能 \(>n\),1.5h 前疯狂重构。

受上次模拟赛启发拿几个数组记录了每个值域连续段的左右端点,几个大样例都过了。

赛后戏剧性的出分0pts,原因未知。

事实证明:只要你敢赌,分会让你哭。

正解

正解挺神奇的,考虑先将 \([1,1\sim n]\)\(\text{mex}\) 预处理出来,然后用线段树来维护 \([l,l\sim n]\)\(\text{mex}\)

\(nxt_i=j\) 表示与 \(i\) 最近的 \(j\) 使得 \(a_i=a_j\),当 \(l\) 向右移时,\(l\sim nxt_l\) 的大于 \(a_l\)\(\text {mex}\) 都要改为 \(a_l\)

然后这就是一个经典的区间推平操作,对于大于 \(a_l\) 的限制线段树上二分即可。

T4 环路

赛时

没看

正解

给他转成矩阵快速幂即可。

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

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

相关文章

数仓项目建设方案——维度建模

数仓项目建设方案——维度建模式信息收集项目背景 阐述公司当前的行业,涉及的主要业务,相关数据的大小、分布、更新情况描述,需要解决的相关问题。公司当前数据建设现状 使用的数据库、数据来源系统与方式、现有数据分析组织,所使用的 BI 工具与数仓工具、为什么建立以及当…

在机器人和无人机时代,测绘人的出路在哪里?

一、技术革命:当测绘行业按下“加速键”无人机与机器人技术正在重塑测绘行业的底层逻辑。传统测绘依赖人工作业,效率低、成本高且风险大,而无人机凭借其灵活性和高效性,已能快速完成大范围地形测绘,精度可达厘米级,甚至替代人工进入危险区域(如塌方、悬崖等)作业。例如…

openwrt禁止设备联网

一、代码操作 把mac地址换成要禁用的设备mac地址,加到自定义防火墙最后,记得最后重启防火墙生效 /etc/init.d/firewall restart iptables -I INPUT -m mac --mac-source B8:C7:4A:7A:66:2E -j DROP iptables -I FORWARD -m mac --mac-source B8:C7:4A:7A:66:2E -j DROP iptab…

JVM调优原理篇

JVM调优 什么是JVM调优,调优的指标是什么? JVM调优指的就是对当前系统进行性能调优,简单来说就是尽可能使用较小的内存和CPU来让JAVA程序获得更高的吞吐量及较低的延迟。 调优常见的指标:吞吐量:是指不考虑垃圾收集引起的停顿时间或内存消耗,应用达到的最高性能指标。 延…

20241216 实验二《Python程序设计》实验报告

20241216 2024-2025-2 《Python程序设计》实验二报告 课程:《Python程序设计》 班级: 2412 姓名: 曾楷 学号:20241216 实验教师:王志强 实验日期:2024年3月26日 必修/选修: 公选课 (一) 实验内容 1.设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善…

[Windows] TechSweeper 应用程序卸载神器V1.2.1

一.我们改进了程序元素显示,现在超出列宽,可以进行滚动显示二.我们为程序添加了右键菜单,现在功能更加全面三.现在程序出现崩溃时,可以进行错误提示与收集四.现在程序可以进行主题切换了五.添加了作者相关信息六.现在可以打开程序相关注册表了(直接显示 清晰明了)七.现在可…

鸢尾花书 - Book_3《数学要素》 - Chapter1 万物皆数

上面图片摘自原书 一、基础概念普及 1. 向量 若干数字排成一行或一列,并且用中括号括起来,得到的数组叫做向量。 2. 行向量 排成一行 3. 列向量 排成一列 4. 转置 行向量转置得到列向量,反之。 5. 矩阵 有行,有列,像表格。 6. 元素 x[i][j] 代表矩阵 X 中第 i 行第 j 列元…

VMware workstation 17 pro 设置开机自启虚拟机(Windows 11)

首先在软件界面设置需要启动的虚拟机 文件➡配置自动启动的虚拟机在打开的对话框中勾选需要自动启动的虚拟机和设置启动顺序点击确定即可。如果点击确定报错的话,如下图看起来问题可能出在两个方面:要么是vmAutoStart.xml文件不存在,要么是当前用户没有足够的权限去修改这个…

RabbitMQ进阶--集群,分布式事务

一.RabbitMQ集群搭建 RabbitMQ这款消息队列中间件产品本身是基于Erlang编写,Erlang语言天生具备分布式特性(通过同步Erlang集群各节点的magic cookie来实现)。因此,RabbitMQ天然支持Clustering。这使得RabbitMQ本身不需要像ActiveMQ、Kafka那样通过ZooKeeper分别来实现HA方…

企业为何要使用odoo18

在当今快速变化的商业环境中,企业需要高效、灵活且经济实惠的管理工具来保持竞争力。Odoo 18 作为一款开源的企业资源计划(ERP)系统,凭借其全面的功能和独特的优势,成为众多企业的首选。为什么选择 Odoo 18? 1. 全面的功能覆盖 Odoo 18 集成了销售、采购、库存、制造、财…

deepclaude 的使用 直捣黄龙

先说结论,最简单的就是购买deepseek 和 claude 的api之后, 直接使用vscode中的cline插件,其中 cline的plan(计划模式)配置deepseek的api,act(执行模型)配置claude的api 直接上连接: deepseek开放平台 https://platform.deepseek.com/ claude 开放平台 https://con…

CentOS 7安装Docker

1.系统需求CentOS 7或更高版本。 centos-extras仓库必须处于启用状态,该仓库默认启用,但如果禁用了该仓库,请重新启用。 建议使用overlay2存储驱动。 2.使用Yum安装 2.1卸载老版本的Docker 在CentOS中,老版本Docker的软件包名是docker或docker-engine,而Docker CE的软件包…