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

笔试训练48天:mari和shiny(动态规划 - 线性dp)

链接:https://ac.nowcoder.com/acm/problem/26226
来源:牛客网
题号:NC26226
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

mari每天都非常shiny。她的目标是把正能量传达到世界的每个角落!
有一天,她得到了一个仅由小写字母组成的字符串。
她想知道,这个字符串有多少个"shy"的子序列?
(所谓子序列的含义见样例说明)

输入描述:

第一行一个正整数n,代表字符串的长度。(1≤n≤300000) 第二行为一个长度为n,仅由小写字母组成的字符串。

输出描述:

一个正整数,代表子序列"shy"的数量。

示例1

输入

8 sshhyyau

输出:

8

说明:假设字符串下标从1到8。共有(135)(136)(145)(146)(235)(236)(245)(246)八个"shy"子序列。

备注:mari大喊道:“是shiny不是shy!!!”

思路动态规划

①:状态表示:s[i]表示:字符串str中[0,i]区间内有多少个's';

h[i]:表示[0,i]区间有多少个'sh';

y[i]:表示[0,i]区间有多少个'shy'

②状态转移方程:

③空间优化

#include <iostream> #include <string> using namespace std; int n; string str; int main() { cin>>n>>str; long long s=0,h=0,y=0; for(int i=0;i<n;i++) { char ch=str[i]; if(ch=='s')s++; else if (ch=='h')h+=s; else if(ch=='y')y+=h; } cout<<y<<endl; return 0; }
http://www.jsqmd.com/news/674068/

相关文章:

  • 2026指纹浏览器性能优化实战:多开稳定性与资源占用控制全解析
  • 使用 Keepalived 实现高可用
  • YOLOv5-GCNet:融合全局上下文网络的长程依赖建模优化,助力小目标与遮挡场景检测精度提升10%+
  • No idea。。
  • CSS viewport单位在旧移动端支持不佳_利用固定像素值与rem配合
  • YOLO26超市空货架检测系统:单类别识别,mAP50=0.912,推理仅21.6ms(项目源码+数据集+模型权重+UI界面+python+深度学习+远程环境部署)
  • TypeScript 类与 JSON 绑定的艺术
  • 别再死记硬背了!用Python的NumPy库实战CR、LU、QR分解,5分钟搞懂矩阵分解到底在干啥
  • 终极指南:用Meshroom开源工具将普通照片变身高精度3D模型
  • RT-Thread与FreeRTOS线程管理对比:从API差异看设计哲学与实战影响
  • 数字IC面试必刷题:用Verilog实现序列检测器的两种经典方法(状态机 vs. 移位寄存器)
  • 自然语言处理词向量:WordVec与BERT预训练模型对比
  • 用EasyX图形库给你的C语言课设加满分:从贪吃蛇到飞机大战的实战思路
  • Python 模块精讲:hashlib — MD5、SHA 加密(3500 字完整版)
  • 算法训练营第八天|合并两个有序数组
  • 告别点云计算焦虑:用Voxel R-CNN在KITTI数据集上实现25FPS的高精度3D目标检测
  • 全员布道:在亚马逊,如何让你的品牌定位成为一场“从内部到外部”的统一行动
  • React 多标签页同步:利用 SharedWorker 在多个 React 实例间共享持久化 WebSocket 连接
  • HTML函数开发用防眩光屏幕更舒适吗_显示面板类型选择【指南】
  • 【2025企业级部署红线预警】:C# 14 原生 AOT 下 Dify 插件动态加载失效的4种静默崩溃场景及热修复补丁
  • PyCharm 2025.3 SSH连接服务器Conda环境,为什么选择Conda后不显示已创建的虚拟环境?
  • 别再一张张画ROC曲线了!用Python的sklearn和matplotlib一键生成多模型对比图
  • python circleci
  • STM32F103驱动维特智能JY61P六轴传感器:从USB-TTL调试到按键唤醒的完整避坑指南
  • 告别原生Winform!用MaterialSkin+ImageList手把手打造带图标的侧边导航栏
  • 敏捷开发闪电晋升策略:软件测试从业者的专业进阶蓝图
  • 《技术人的学历突围:从专精到卓越的学历战略规划》
  • 告别命令行:用PySide6给Python脚本加个图形界面,打包成exe分享给朋友
  • React 与 Chrome 扩展开发:在内容脚本(Content Scripts)中注入 React UI 的生命周期挑战
  • YOLOv5核心激活函数进化论:ReLU与SiLU的深度性能博弈与优化实战