当前位置: 首页 > news >正文

Codeforces K. Similarity (Hard Version)题解

题目简述

给定 (n,m,k),构造 (n) 个长度为 (k) 的互异小写字符串,使得所有对的最长公共子串长度的最大值 恰好等于 (m)。输出 Yes 并给出字符串,若无解输出 No

解题关键

  • 若 (m\ge k),必有相同串 → 无解。
  • 若 (m=0),需所有字符互异 → 需要 (n\le 26)。
  • 若 (0<m<k),可用如下构造:

构造方法

  1. 每个串前 (m-1) 位固定为 'z'
  2. 剩余 (k-m+1) 位用交替字母 c1 c2 c1 c2 ... 填充。
  3. 初始 c1='a', c2='a'。每生成一个串后,若 c2<'z'c2++,否则 c1++, c2=c1

这样任意两串公共子串长度 ≤ (m),且存在长度为 (m) 的对(相邻串可能在第 (m) 位相同)。

代码

#include <bits/stdc++.h>
using ll = long long;
using namespace std;
const int N = 2e5 + 10, mod = 998244353, inf = LLONG_MAX;
ll n, m, x, k, c, d, tmp;
void solve() {cin >> n >> m >> k;if (m >= k || (m == 0 && n > 26)) {//先判断无解cout << "No" << '\n';return;}cout << "Yes" << '\n';if (m == 0) {//m==0 我们只需要像这样输出aaaa bbbbfor (int i = 0; i < n; i++) {cout << string(k, 'a' + i) << '\n';}return;}char c1 = 'a', c2 = 'a';for (int i = 1; i <= n; i++) {for (int j = 0; j < m - 1; j++)//先输出m-1个zcout << 'z';for (int j = 1; j <= k - m + 1; j++) {//剩下像这样输出aaa aba aca.....bbb bcb 即交叉输出if (j % 2) {cout << c1;} else {cout << c2;}}if (c2 == 'z') {c1++;c2 = c1;} elsec2++;cout << '\n';}
}
int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int _ = 1;// cin >> _;while (_--) {solve();}return 0;
}
http://www.jsqmd.com/news/421900/

相关文章:

  • 2026年2月封切收缩机厂家推荐:一站式包装解决方案提供商 - 品牌鉴赏师
  • 大数据领域数据架构的Kubernetes容器编排系统应用
  • 开发具有视觉常识推理能力的AI Agent
  • 菜谱合集
  • 题解:洛谷 B2034 计算 2 的幂
  • VSCode每过几秒就提示未响应
  • 神经网络之激活函数
  • 题解:洛谷 B2033 A*B 问题
  • 题解:洛谷 B2031 计算三角形面积
  • WC2026XKLJIU5IGGNOI;hgggggggggg904yyyyyyyyyyyyyyyyyvo RIHFEacsmPo=
  • 高效盘活闲置资源,大量小额天猫超市卡回收渠道全解析 - 京顺回收
  • OpenClaw:零门槛AI自动化神器
  • 月薪 3800 辅警小奇:一年内恋爱结婚,如今即将迎来双胞胎宝宝
  • NR 下行功率分配
  • C++游戏开发之旅 19
  • 相控超声波换能器:原理、应用与完整项目案例详解
  • Linux驱动编译(Out-Of-Tree 交叉编译)
  • 【开题答辩全过程】以 华远企业的员工行为及属性的数据分析与可视化为例,包含答辩的问题和答案
  • 最小二乘问题详解11:基于李代数的PnP优化
  • EB(EdgeBus)如何低成本实现传感器到 LoRaWAN 的智能对接?
  • 题解:洛谷 B2030 计算线段长度
  • 日语视频 SRT 字幕生成软件下载:日语视频本地自动翻译SRT字幕生成、日语视频自动翻译 Faster Whisper v1.7 下载与使用教程(含AMD显卡支持)
  • 【开题答辩全过程】以 航班管理系统的设计与实现为例,包含答辩的问题和答案
  • 黑马点评
  • D005 求子树大小的四种方法 树形结构 递归 栈模拟递归 CSES 1674
  • AI赋能安全 | 悬镜安全荣登《ISC.AI 2025创新性案例报告》
  • vscode下nodejs开发准备
  • Unity3d笔记
  • 美甲美发“效果预览数字模板”,减少沟通误差。
  • 题解:洛谷 B2027 计算球的体积