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

Educational Codeforces Round 178 (Rated for Div. 2)E. Unpleasant Strings

题目链接

#include<bits/stdc++.h>
using namespace std;
using ll=long long;
typedef pair<int,int>PII;
typedef priority_queue<int> upq;
typedef priority_queue<int,vector<int>,greater<int>> dpq;
const int M=998244353;
const int N=1e6+20;
//1.快速知道字符串t是s的前几个字符的子序列
//2.从s的第i个字符开始,还需要加几个字符,可以使i跳到n+1//next_id[i][j]:第i个字符之后的第一个字符j的出现位置
//dp[i]:若前i个字符与字符串已经完全匹配,则还需要增加几个字符
int nxt_id[N][27],dp[N];
int lst[N]; 
char a[N];
int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n,k; cin>>n>>k;for(int i=1;i<=n;i++) cin>>a[i];for(int i=0;i<N;i++) dp[i]=1e9+5; for(int i=0;i<k;i++) nxt_id[n+1][i]=n+1,lst[i]=n+1;dp[n+1]=0;for(int i=n;i>=0;i--){for(int j=0;j<k;j++){nxt_id[i][j]=lst[j];dp[i]=min(dp[i],dp[nxt_id[i][j]]+1);}if(i!=0) lst[a[i]-'a']=i;}int q; cin>>q;while(q--){string t; cin>>t;int id=0;for(int i=0;i<t.size();i++){id=nxt_id[id][t[i]-'a'];}cout<<dp[id]<<"\n";}
}

http://www.xdnf.cn/news/3048.html

相关文章:

  • java执行linux命令查询信息
  • 在Java中基于Geotools对PostGIS数据库的空间查询实践
  • MySQL 连接池 (Pool) 常用方法详解
  • 创建Python虚拟环境
  • mybatis传递多个不同类型的参数到mapper xml文件
  • MAC安装unar并解压.rar文件
  • 实现在h5中添加日历提醒:safari唤起系统日历,其它浏览器跳转google日历
  • 数据资产如何产生价值与发挥价值:从认知到实践的全景指南
  • 智慧交警系统架构设计方案
  • k8s学习笔记
  • echo 1 > /proc/sys/kernel/nmi_watchdog报错
  • 在阿里云实例上部署通义千问QwQ-32B推理模型
  • outlook for mac本地邮件存放在哪儿?
  • 【趣谈】Cyber、Web、Network都是网络有什么区别
  • 正则基础与进阶
  • 【报错问题】 macOS 的安全策略(Gatekeeper)阻止了未签名的原生模块(bcrypt_lib.node)加载
  • 6.4 内部协作与知识管理:智能助手与企业知识库的集成
  • VPN访问SAP组服务器报登陆负载均衡错误88:无法连接到消息服务器(RC=9)
  • 蓝桥杯 11. 最大距离
  • idm 禁止自动更新提示(修改注册表)
  • JAVA使用Apache POI导出Word,支持向表格动态添加多行数据
  • linux中由于编译选项-D_OS64BIT导致的核心已转储问题
  • gitee 如何修改提交代码的邮箱
  • C++ 中自主内存管理 new/delete 与 malloc/free 完全详解
  • gradle 下载的tencent的镜像
  • 为什么 Vite 速度比 Webpack 快?
  • STM32单片机入门学习——第49节: [15-2] 读写内部FLASH读取芯片ID
  • 【行业特化篇3】制造业简历优化指南:技术参数与标准化流程的关键词植入艺术
  • 在Spark中通过jps命令看到的进程名,是哪个命令产生有什么作用
  • 亚远景-ASPICE认证:如何优化软件开发流程?