牛客寒假基础算法训练营2(CEHIM)

news/2025/2/4 9:37:01/文章来源:https://www.cnblogs.com/jjjxs/p/18692497

官解:editoral

C

构造

基于\(D\)题的结论,设钦定子串的最左侧字符为\(A\),最右侧字符为\(B\):只要该子串左侧含有\(A\),或者最右侧字符含有\(B\),那么该子串便合法,只需要找到最长的子串即可。

还可以进一步发现:这个最长子串一定是原字符串的某个前缀或者后缀。否则,一定可以通过向某个方向延长而使解更优。

由于只需要构造一个合法串,因此钦定该子串是原字符串的前缀即可。

由于只有\(26\)个字符可供使用,可以\(guess\)一下:\(n-m\)一定不会超过\(26\)。否则由鸽巢原理,在除了钦定子串外的其他字符中,必然含有相同的字符,子串便可延长到这对相同字符的位置并使解更优。

那么构造的思路也就出来了:令\(str[n]==str[m]\),并且\(str[m到n-1]\)中不含有相同字符即可,这样保证了构造的字符串长为\(n\),且子串最长为\(m\)(前缀)。具体构造方式可直接按照字符的字典序循环构造即可。具体见代码。

code

E

思维 + ST表

对于任意询问区间\([l,r]\),推倒 \(a_l\), 考虑使得 \(a_i\) 倒下\((l+1<=i<=r)\),需要操作的最少次数:

\[max(0,a_i - \sum_{j=l}^{i-1}a_j) \]

最终要使得 \(a_r\) 倒下,则\(r\)前面的每一张牌都必须要倒下,即求上式的最大值:

\[\max_{i=l+1}^{r}(0,a_i - \sum_{j=l}^{i-1}a_j) \]

则问题转化为了维护区间最大值,ST表或者线段树都可以做。具体地,可以维护\(a[i]-pre[i-1]\)的区间最大值\(mx\)\((1<=i<=n)\),求得结果再加上\(pre[l-1]\)即为\([l,r]\)上的答案。具体细节见代码。

code

H

思维 + 平面几何

三点不共线时可以共圆,则三点共线时,可以看做共一个无限大的圆。因此三点越接近于共线,圆越大。

因此最优情况为:其中两个点在一条边上,第三个点在另一条边上,并且该点与两点所在边尽可能接近。

剩下的就是正弦定理:尽可能让斜边更长,同时斜边所对的钝角更大,这样外接圆的半径就更长。具体细节见官解。

code

I

待补

code

M

组合数学计数

首先要明确,对于任意\(1<=i<=n\),所有\(mod 3\)剩余类对应列上的数字必须相同。即第\(1,4,7...\)列上的数字必须相同,第\(2,5,8...\)列上的数字必须相同,第\(3,6,9...\)列上的数字必须相同。证明略。

则最后得到 \(1,2,3\) 列上的三列数字,其中第\(1\)列对应\(1,4,7...\)列上所有数字的交集。

无解情况:显然每一列数字种类数不能超过\(3\),并且每个\(3x3\)的九宫格上不能出现相同的数字。

剩下未知的数字可以做自由分配,可直接用组合数来计算(式子见官解)。这样就将每一列的数字种类分配好了,最后对每一列的未知位置全排列计算方案数即可。具体细节见官解。

code

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

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

相关文章

Traefik新一代反代服务器,兼容所有主要的集群技术(二)

简介 笔记将记录如何使用docker配置traefik,代理一个gitea,自动申请tls证书,cloudflare反代80,443端口一系列实操。 daemon.json配置如下,主要是为了IPv6能访问,以及更改了主存储位置,配置了docker代理。{"data-root": "/storage/docker","ipv6…

macbookpro m3本地部署DeepSeek模型

macbookpro m3有着十分强大的性能。在deepseek如火如荼的当下,可以尝试在本地部署并使用。还可以将自己的文档作为语料喂给deepseek,使其能成为自己专属的AI助手。 本文介绍使用ollama在本地部署deepseek模型,并使用chatbox优化访问的步骤。 下载ollama https://ollama.com …

基于生成式AI的访问控制, 迁移传统安全策略到基于LLM的风险分类器

基于规则的风险分类风险分类是网络安全系统的核心能力之一,它将访问请求和命令映射到其风险级别/类别:高(High)、中(Medium)、低(Low)。目前,即便是在大规模环境中,风险分类器仍主要采用基于规则的系统实现。基于规则的分类器易于以符合人类直觉的方式定义——这也使…

坐标系与向量

坐标系规定 一般使用左手坐标系,+x,+y,+z分别指向右方、上方、前方。 多坐标系 世界坐标系:协议某个点为原点,其他所有点都有具体不变的坐标,能够用世界坐标系描述其他坐标系的位置,而不能使用更大的、外部的坐标系来描述世界坐标系。 物体坐标系:和物体相关联的坐标…

Netty实战入门教程

概述 Netty 是一个异步的、基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端 Netty 在 Java 网络应用框架中的地位就好比:Spring 框架在 JavaEE 开发中的地位 以下的框架都使用了 Netty,因为它们有网络通信需求!Cassandra - nosql 数据库 Spark…

FFT入门

这是一个题图前置知识 复数 也可以参考高中数学课本,这里只会介绍 fft 需要的(默认已经入门复数)。 多项式的相关概念。 点值表示法:假设 \(f(x)\) 是一个 \(n-1\) 次多项式,那么将 \(n\) 个 不同的 \(x\) 代入,可以得到 \(n\) 个 \(y\)。这 \(n\) 个点对 \((x,y)\) 唯一…

GPUStack:一个开源的GPU集群管理和自动化部署大模型的LLM服务平台

正如我们以前文章中说过,在过去近两年中,AI发展速度超过任何历史时期,基于大模型的各类应用已经渗透到了各行各业中,很多企业都在积极探索如何利用大模型提高公司运营管理的能效。 阿里云 CTO 周靖人也说过““当下企业应用大模型存在三种范式:一是对大模型开箱即用,二是…

Deskflow:一个能在多个设备之间共享鼠标键盘的工具

有多台设备的同学肯定都感受过切换鼠标和键盘的痛苦。比如家里有个台式机配了键盘和鼠标,工作有台笔记本,但是如果想用家里的键盘和鼠标操作笔记本那么除了插拔线(蓝牙也一样),好像没有其他特别的办法。 以为我个人为例,插拔切换鼠标键盘,最头疼的就是以下两个点: 线缆…

DeepSeek + Dify :零成本搭建企业级本地私有化知识库保姆级喂饭教程

最近,DeepSeek大火,想必大家都有所耳闻,各路媒体从各个方面报道了DeepSeek这家神秘的公司的各方面消息,这家低调的技术公司用一组硬核数据回应了所有关注: 千亿参数规模下实现0.5元/百万tokens的API调用成本,91.5%的中文基准测试得分,推理效率较传统架构提升5倍。 DeepS…

[Tools] Vite intro

Overview为什么选Vite: https://cn.vite.dev/guide/why.htmlesbuild, Rollup: https://cn.vite.dev/guide/why.html#why-bundle-for-production Quick start 1. Start a new project pnpm init 2. installl Vite, Typescript pnpm add vite typescript -D 3. create index.ht…

在做同城多活方案中如何实现机房之间的数据同步?

一、前言 现在是数据的时代,如何发挥数据的价值,让系统具备更多的数据处理能力。如何完善响应的数据架构。多机房建设是其中的解决策略。 二、背景 在业务初期,考虑到投入成本,很多公司通常只用一个机房提供服务。但随着业务发展,流量不断增加,我们对服务的响应速度和可用…