news 2026/4/21 1:26:14

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
笔试训练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; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 1:24:32

零基础也能用!2026年AI大模型必备10款工具汇总(附下载)

摘要 本文盘点 2026 年主流 AI 大模型&#xff0c;覆盖国际模型、国内模型和可本地部署开源模型&#xff0c;适合普通用户、开发者和需要做模型选型的团队。读完可以快速看懂各模型的定位、免费额度、API 接入难度和最适合的使用场景。 一. 开篇引入 AI 大模型&#xff0c;本…

作者头像 李华
网站建设 2026/4/21 1:23:13

VMware Kali Linux 虚拟机系统 下载安装

链接: https://pan.baidu.com/s/1GWY4GB0lYyQkUW3kzmbKtg 提取码: j9c9此文件为免费开源文件&#xff0c;请勿利用于商业领域&#xff01;&#xff01;&#xff01;在VMware首页选择打开虚拟机&#xff0c;进入目录&#xff0c;选择后缀为vmx的文件打开即可使用用户&#xff1a…

作者头像 李华
网站建设 2026/4/21 1:20:05

未知物体自动标注流水线

训练目标检测模型需要标注数据。大量的标注数据。而手动绘制边界框&#xff0c;坦率地说&#xff0c;是一项令人痛苦的工作。 打开一张图片。扫描寻找物体。小心翼翼地拖动一个矩形围住它。下一张图片。再下一张。成百上千次。这既乏味又缓慢&#xff0c;令人筋疲力尽&#xf…

作者头像 李华
网站建设 2026/4/21 1:19:00

JavaScript 中高精度小数(20位以上)的正确处理方法

JavaScript 原生 Number 类型仅支持约15–17位有效数字&#xff0c;无法精确表示20位小数&#xff1b;必须借助 decimal.js 等任意精度库&#xff0c;并显式设置足够精度&#xff08;如 Decimal.set({ precision: 30 })&#xff09;&#xff0c;全程以 Decimal 实例运算&#x…

作者头像 李华