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

题解:单词的划分

【题目描述】

有一个很长的由小写字母组成字符串。为了便于对这个字符串进行分析,需要将它划分成若干个部分,每个部分都必须是字典中的一个单词。 出于减少分析量的目的,我们希望划分出的单词数越少越好。 你就是来完成这一划分工作的。

给出字符串和字典,输出最少的划分单词数。

【输入】

\(1\) 行,\(1\) 个字符串。(字符串的长度不超过 \(1000\)

\(2\) 行,\(1\) 个整数 \(n\),表示字典中单词的个数。(\(n≤100\)

\(3\)\(n+2\) 行,每行列出一个字典中的单词。(单词长度不超过 \(100\)

【输出】

【输入样例】

realityour
5
real
reality
it
your
our

【输出样例】

2

【代码详解】

#include<iostream>
#include<cstring>
#include<string>
using namespace std;int n, dp[1005], m;  // n: 词典大小,dp: 动态规划数组,m: 字符串长度
string s, ls[105];  // s: 目标字符串,ls: 词典字符串数组// 检查子串是否在词典中
bool chk(string s)
{for (int i = 1; i <= n; i++){if (s == ls[i]){return 1;  // 找到匹配}}return 0;  // 未找到匹配
}int main()
{cin >> s >> n;  // 读入目标字符串和词典大小m = s.size();  // 获取字符串长度s = ' ' + s;  // 在字符串前加一个空格,使下标从1开始memset(dp, 0x3f, sizeof(dp));  // 初始化dp数组为较大值dp[0] = 0;  // 空字符串需要0个单词for (int i = 1; i <= n; i++){cin >> ls[i];  // 读入词典中的单词}for (int i = 1; i <= m; i++)  // 遍历目标字符串的每个位置{for (int j = i; j >= 1; j--)  // 从位置i向前遍历可能的子串{// 检查子串s[j:i]是否在词典中if (chk(s.substr(j, i - j + 1))){// 如果子串在词典中,更新dp[i]的最小值// dp[i] = min(当前最小值, dp[j-1] + 1)dp[i] = min(dp[i], dp[j - 1] + 1);}}}cout << dp[m];  // 输出组成整个字符串所需的最小单词数return 0;
}

【运行结果】

realityour
5
real
reality
it
your
our
2
http://www.jsqmd.com/news/398967/

相关文章:

  • 基于MATLAB搭建的准Z源NpC三电平逆变器拓扑,利用SVPWM调制算法,加入了中性点平衡算...
  • 数学体系全景图
  • 人工智能之视觉领域 计算机视觉 第十二章 视频目标跟踪
  • GitHub标星破万!程序员福音,82.5%准确率!这个开源项目重新定义了Text2SQL
  • OpenClaw(Clawdbot):2026年阿里云服务器快速搭建指南
  • 盒马鲜生礼品卡回收新妙招,闲置变现金就这么简单 - 京顺回收
  • 题解:数列划分
  • OpenClaw(Clawdbot):2026阿里云服务器部署指南,高效实用宝典超赞
  • OpenClaw(原Clawdbot)2026阿里云部署:新手快速入门教程
  • OpenClaw(clawdbot):2026年腾讯云部署全流程,教程呈现超清晰
  • OpenClaw(Clawdbot):2026阿里云服务器部署指南,简单实用技巧超多
  • 从“盲管”到“智管”:基于物联网的工程机械智能管理系统全解析
  • 2026年工业纸盒实地厂家精选,品质之选不容错过,纸箱/农产品纸箱/工业纸箱/工业纸盒/纸盒,纸盒直销厂家哪家好 - 品牌推荐师
  • 问题解决方法:步骤如下,Python 定时器打包成桌面 exe,双击直接用
  • 致命压缩:AI重构网络攻击链路,从暴露到利用的“分钟级绝杀”与防御突围
  • 普朗克尺度到原子之间
  • 警惕!OAuth令牌劫持成主流:微软365持续攻击潮,持久化控制无孔不入
  • 工业多Agent架构-借鉴OpenCraw架构
  • 2026 辽宁口碑较好的荣威汽车增压器改装店大排行,卡特增压器/潍柴430天然气增压器,汽车增压器组件推荐排行榜单 - 品牌推荐师
  • Sarscape软件中手动GCP选取后消失的问题
  • Python如何实现认证、权限与限流功能?
  • 春节收的闲置卡要变现?沃尔玛购物卡安全回收如何避坑都了解嘛? - 京顺回收
  • 2GHz微带阵列天线,HFSS仿真模型,介质板为FR4,增益4.5dBi,驻波小于1.5
  • WordPress 被植入隐藏管理员后门?清理实战分析
  • 电机:05 三相异步电机:工业界的“老黄牛”
  • 2026评价好的现浇搭建公司推荐,为你的项目保驾护航,现浇楼梯/现浇保温层/现浇楼板/楼板现浇,现浇搭建公司有哪些选哪家 - 品牌推荐师
  • 电子世界的奇妙冒险:10-2 触发器与时序电路入门:0和1世界的“记忆大师”和“计步高手”
  • 2026年清洗机网带工厂靠谱推荐,最新排行来了,不锈钢网带/弯板链条/爬坡输送机/垂直提升机,网带制造商怎么选购 - 品牌推荐师
  • OpenClaw(clawdbot):2026年腾讯云部署教程,解锁AI新功能超妙
  • OpenClaw(Clawdbot):2026腾讯云服务器部署指南,实用技巧超多