AtCoder-arc227_c Follow the Letters 题解

本题核心在于利用字符串S的最短循环节长度M,证明最优解K等于N/M。通过分析位置模M的等价类,得出下界K≥N/M;再构造S重复M−1次的操作序列,结合相对移动性质证明该下界可达。关键点包括循环节唯一性、操作不改变相对顺序、B类人每轮至少比A类人多进1格,最终在M−1轮内全部相遇。

1. 解题思路

猜猜题。我们考虑先求出 KKK 再构造。

1.1. 下界

不难发现,相遇的人以后永远不会分开,因此有人的位置数量单调不增。

我们的目标就是让尽可能多的人相遇。反过来想:有没有一些人,无论怎么操作都不可能相遇?

手玩小样例,从简单且对称的开始。玩玩具有循环节的样例,不难发现:如果两个位置正好相差一个循环节长度,那么对应的人永远无法相遇。

设 MMM 为 SSS 的最短循环节长度。

由于 SSS 循环移位 MMM 位后不变,两个位置相差 MMM 的人的视角下 SSS 完全相同。因此每次操作后仍然相差 MMM,永不相遇。

把所有人按照位置  mod M\bmod MmodM 分类,每一类中的人永不相遇,所以至少 N/MN/MN/M 个位置有人。

于是得到答案下界

K≥NM K\ge \frac{N}{M} K≥MN​

1.2. 上界

接下来大胆猜测该下界就是答案。

题目限制 L≤106,N≤1000L\le 10^6,N\le 1000L≤106,N≤1000,似乎在暗示构造应该长 N2N^2N2。所以一个很自然的想法是:直接把 SSS 重复 NNN 次,看看能不能达到下界。

以下称一次操作序列 SSS 为“一轮操作”。

从位置 N,N−M,N−2M,…N,N-M,N-2M,\dotsN,N−M,N−2M,… 出发的人,每次都会被带着恰好向前移动 111 格。这些人永不相遇,共有 N/MN/MN/M 个。称这样的人为“A”。其他人为“B”。

我们需要让 B 最终都与 A 相遇。

有如下性质:每一轮操作,每个 B 至少有一次会向前移动 ≥2\ge 2≥2 格。

否则,存在一个 B 在这一轮中每次都只移动 111 格,这意味着从某个不同的起始位置观察到的字符串与 SSS 完全相同,即 SSS 存在 <M<M<M 的循环节,与 MMM 的最小性矛盾。

显然操作都不改变人的相对顺序,一个人不可能越过另一个人而不与其相遇。每轮结束时,A 恰好回到原位,而 B 至少比 A 多前进 111 格。因此只要 B 尚未与 A 相遇,它到前方 A 的距离就至少缩短 111 格。所以经过至多 M−1M-1M−1 轮,所有 B 都会与某个 A 相遇,此时有人位置的数量就变为 N/MN/MN/M,达到下界。

因此
K=NM \boxed{K=\frac{N}{M}} K=MN​​

实际实现时只需要把 SSS 重复 M−1M-1M−1 遍就足够了。

2. 代码

#include <bits/stdc++.h>
#define rep(i,a,b) for(int i(a);i<b;++i)
using namespace std;
int n,m;  // m为循环节长度
string s;
bool check(const string &s,int len){
    string base=s.substr(0,len);
    for(int i=len;i<s.size();i+=len) if(s.substr(i,len)!=base) return false;
    return true;
}
signed main(){
    cin>>n>>s;
    m=n;
    rep(i,1,n) if(n%i==0&&check(s,i)){
        m=i;
        break;
    }
    cout<<n/m<<'\n'<<n*(m-1)<<'\n';
    rep(i,0,m-1) cout<<s;
    return 0;
}
内容概要:本文档围绕【雷达相控阵】技术,详细阐述了任意形状离散阵列的阵列因子与方向图的Matlab仿真方法,属于雷达系统设计与信号处理交叉领域的核心技术内容。资源聚焦于通过Matlab编程实现对阵列天线辐射特性的精确建模,涵盖不规则几何布局下的天线单元排布、阵列因子数学建模、相位加权控制、波束指向调节及方向图可视化等关键环节,旨在帮助用户深入理解相控阵雷达中波束成形、旁瓣抑制、主瓣调控等核心机制,并为实际工程应用提供可靠的仿真依据和技术支撑。; 适合人群:具备Matlab编程基础和信号与系统、电磁场与微波技术相关知识的科研人员、高校研究生及从事雷达系统、无线通信、天线设计等相关领域的工程师。; 使用场景及目标:①用于科研教学中对任意拓扑结构天线阵列的方向图特性进行仿真分析与性能评估;②辅助完成雷达系统设计中的波束赋形、方向图优化、抗干扰能力提升等关键技术验证;③作为学术论文复现、课程项目开发或课题研究的重要技术参考,推动相控阵技术的创新与应用。; 阅读建议:建议结合Matlab代码与阵列信号处理理论同步学习,重点关注阵列因子公式的推导过程与方向图绘制的实现细节,鼓励通过调整阵元位置、间距、激励幅度与相位等参数观察方向图变化规律,从而深化对相控阵工作原理的理解并掌握灵活的仿真设计能力。
【内容概要】 本资源是《智能体演化史》系列第四篇的配套代码,用 108 行 Python 实现一个会"收桌子"的上下文管理器。核心是两件事:一是设一个上下文预算,用 token 估算函数实时盯着;二是超预算时执行结构化压缩——把早期轮次压成一段结论式摘要,保留最近若干轮原文,并且对失败尝试和关键事实单独留档,不让它们被摘要吃掉。配套测算脚本给出三组可复算的数据:关键信息密度从第一轮的 100% 衰减到第 80 轮的 13%(腐烂的本质是稀释,不是撑爆,按当前增量要 213 轮才真的撞上 128K 窗口);跑 80 轮,不压缩累积 199 万 token,滚动摘要降到 37.1 万,直接截断只要 42.6 万但关键信息只留下 8%。这组数字说明:只盯着账单会选错策略。 【适用人群】 智能体已能跑通、但长任务开始"变傻"的开发者;负责长会话产品体验的工程师;需要在成本与准确率之间做取舍的架构师。 【使用场景及目标】 1) 给自己的智能体加一层可配置的上下文预算与压缩; 2) 用测算脚本对比三种策略的成本与保留率,做出有依据的选择; 3) 作为团队内部分享材料,解释"提示词工程"为何被上下文工程取代。 目标:让长任务不再越跑越糊涂,同时把 token 花在真正重要的信息上。 【其他说明】 需 pip install openai 并配置 OPENAI_API_KEY;预算值与保留轮数为常量,可按业务调整。测算脚本离线可跑,假设参数在文件内显式标注,便于改成你的真实口径。压缩会损失细节,涉及合规留痕的场景请关闭自动压缩或单独归档原文。
内容概要:本文深入研究了基于一致性理论的三机并联独立微网二次控制模型,旨在解决无中央控制器条件下,多个分布式发电单元(如逆变器)在独立微网中实现电压幅值与频率的精确恢复以及有功、无功功率按比例合理分配的关键问题。通过引入分布式一致性算法,仅依赖本地及相邻节点的信息交互,构建了一套完整的二次控制架构,有效消除了传统下垂控制引起的静态偏差。文中详细阐述了包含三台并联逆变器的独立微网Simulink仿真模型的设计过程,涵盖了功率计算、电压频率恢复控制环、一致性协议实现等核心环节,并提供了关键控制参数的设计依据与整定方法。仿真结果充分验证了所提出控制策略在动态响应速度、稳态控制精度及抗负载扰动能力方面的优越性,能够实现频率和电压的无静差调节,并确保功率的精确按需分配。; 适合人群:具备电力系统分析、电力电子技术及自动控制理论基础的研究生、科研人员以及从事微电网、分布式能源系统、智能配电网等领域技术研发的工程技术人员。; 使用场景及目标:① 深入学习和掌握基于一致性理论的分布式协同控制原理及其在微电网二次调频调压中的具体应用;② 复现并改进三机并联独立微网的Simulink仿真模型,服务于学术论文撰写、科研项目申报或工程预研;③ 针对实际微网系统中存在的电能质量下降、功率分配不均等问题,设计并验证高效的分布式控制解决方案,提升系统自主运行的稳定性与可靠性。; 阅读建议:学习者应紧密结合所提供的仿真模型,重点剖析一致性协议的数学建模与信息交换机制,亲手搭建并调试整个控制系统。建议通过设置不同工况(如突加/突减负载、机组投切等)进行仿真测试,观察系统状态的动态演变过程,从而深刻理解控制策略的鲁棒性与协同控制效果。
内容概要:本文围绕基于自适应虚拟谐波阬的光储VSG并网电流谐波抑制模型展开研究,旨在解决光伏发电与储能系统通过电力电子变换器并网时引发的电流谐波问题。通过引入自适应虚拟谐波阬技术,动态调节虚拟同步发电机(VSG)的输出阻抗特性,在不增加额外硬件成本的前提下,有效抑制特定次谐波,显著降低并网电流的总谐波畸变率(THD),提升电能质量与系统稳定性。文章详细阐述了控制策略的设计原理、自适应机制的实现方法,并在Simulink环境中构建了完整的系统仿真模型,完成了动态响应、谐波抑制效果及复杂工况适应性的验证,结果表明该方法在多变运行条件下具有良好的鲁棒性与实用性。; 适合人群:具备电力电子、新能源发电系统及自动控制理论基础的研究生、科研人员,以及从事光伏储能系统并网控制、电能质量治理等相关领域的工程技术人员。; 使用场景及目标:①研究光储系统并网过程中的谐波产生机理与抑制方案;②掌握VSG控制与谐波阻抗重塑技术的融合应用;③学习基于Simulink的电力电子系统建模与动态仿真方法;④为实际工程中提升新能源并网电能质量提供理论支撑与技术参考。; 阅读建议:此资源以Simulink仿真实现为核心,强调理论分析与仿真验证紧密结合,建议读者在学习过程中重点关注控制算法的实现逻辑与参数设计原则,动手复现仿真模型,并通过改变电网阻抗、负载等条件开展敏感性分析,深入理解自适应机制对系统性能的优化作用。
内容概要:本文介绍了一个基于Python和人工智能生成内容(AIGC)技术的旅游演艺项目内容生产与营销辅助系统的设计与实现。系统涵盖数据采集、特征工程、内容生成、游客画像、营销推荐和效果评估六大模块,利用TF-IDF、K-Means聚类、逻辑回归、余弦相似度等算法,实现宣传文案自动生成、游客群体画像划分、多渠道营销效果预测与推荐、评论情感分析及内容质量控制等功能。系统采用模块化架构,结合Pandas、Scikit-learn、Jieba、Flask等工具,支持数据驱动的文旅内容智能生产与精准营销,并通过模拟5万条业务数据验证模型可行性。; 适合人群:具备Python编程基础,熟悉数据分析与机器学习相关库(如Pandas、Scikit-learn)的开发者、数据分析师及文旅行业数字化运营人员,尤其适合从事智慧旅游、文化科技融合项目的技术与管理人员; 使用场景及目标:①提升旅游演艺项目宣传内容的生产效率,实现多渠道差异化文案自动生成;②构建游客画像体系,实现精准化、个性化营销推荐;③建立数据驱动的营销效果评估闭环,优化传播策略与资源配置; 阅读建议:此资源包含完整模型描述与可运行代码示例,建议结合实际文旅项目背景进行实践,重点关注数据预处理、特征构建与模型参数调优,并可根据需求接入大语言模型或可视化平台以拓展功能。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值