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

淘宝客云建站官网搜索引擎网站

淘宝客云建站官网,搜索引擎网站,乌海品牌网站建设,深圳市无限空间工业设计有限公司目录 牛客_小红的子串_滑动窗口前缀和 题目解析 C代码 Java代码 牛客_小红的子串_滑动窗口前缀和 小红的子串 描述: 小红拿到了一个长度为nnn的字符串,她准备选取一段子串,满足该子串中字母的种类数量在[l,r]之间。小红想知道&…

目录

牛客_小红的子串_滑动窗口+前缀和

题目解析

C++代码

Java代码


牛客_小红的子串_滑动窗口+前缀和

小红的子串

描述:
        小红拿到了一个长度为nnn的字符串,她准备选取一段子串,满足该子串中字母的种类数量在[l,r]之间。小红想知道,一共有多少种选取方案?

输入描述:

第一行输入三个正整数 n,l,rn,
第二行输入一个仅包含小写字母的字符串。
1 ≤ n ≤ 200000
1 ≤ l ≤ r ≤ 26

输出描述:

合法的方案数。


题目解析

        利用前缀和的思想,求种类个数在 [l, r] 区间内子串的个数,等于求 [1, r] 区间内个数 - [1, l - 1] 区间内个数。求种类个数在 [1, count] 区间内子串的个数,可以用滑动窗口来求解。

C++代码

#include <iostream>
#include <string>
using namespace std;
int n, l, r;
string s;// 找出字符种类在 [1, x] 之间的⼦串的个数
long long find(int x) 
{if(x == 0)return 0;int left = 0, right = 0; // 滑动窗⼝int hash[26] = { 0 }, kinds = 0; // 统计窗⼝内字符种类的个数long long ret = 0;while(right < n){if(hash[s[right] - 'a']++ == 0) kinds++;while(kinds > x){if(hash[s[left] - 'a']-- == 1) kinds--;left++;}ret += right - left + 1;right++;}return ret;
}int main()
{cin >> n >> l >> r >> s;cout << find(r) - find(l - 1) << endl;return 0;
}

Java代码

import java.util.*;
public class Main
{public static int n, l, r;public static char[] s;// 找出字符种类在 [1, x] 之间的⼦串的个数public static long find(int x){// 滑动窗⼝int left = 0, right = 0;int[] hash = new int[26];int kinds = 0; // 统计窗⼝内字符的种类long ret = 0;while(right < n){if(hash[s[right] - 'a']++ == 0)kinds++;while(kinds > x){if(hash[s[left] - 'a']-- == 1)kinds--;left++;}ret += right - left + 1;right++;}return ret;}public static void main(String[] args){Scanner in = new Scanner(System.in);n = in.nextInt(); l = in.nextInt(); r = in.nextInt();s = in.next().toCharArray();System.out.println(find(r) - find(l - 1));}
}
http://www.dtcms.com/wzjs/84967.html

相关文章:

  • 网站客服案例电子商务主要学什么内容
  • 网站设计专业知识技能代运营电商公司
  • 哪个商城网站建设好网站开发怎么做
  • 网站加密中国培训网
  • 廊坊做网站的公司广州seo网络推广员
  • 美轮美奂的网站建设百度平台官网
  • 包装材料网站建设福建百度代理公司
  • 宁波做网站seo杭州百度优化
  • 免费asp网站后台管理系统2021年近期舆情热点话题
  • wordpress联系表格百度seo外包
  • 跨境电商独立站建站服务深圳企业seo
  • 如何做整人网站山东建站
  • 北京网站建设在线杭州百度快照
  • 四平网站制作上海网络推广专员
  • 建设网站所需要的技术百度站长工具seo综合查询
  • wordpress 后台 添加菜单百度seo排名优化联系方式
  • 商城网站建设服务四川疫情最新情况
  • 如何在局域网中做网站英语seo什么意思
  • 西安php网站建设专家搜索引擎竞价排名
  • 第三方网站搜索引擎优化简称
  • 安阳宣传片制作公司重庆二级站seo整站优化排名
  • 做AI免费网站百度识图鉴你所见
  • 北京旅游网站建设专业seo推广
  • 厦门高端网站建设站长工具查询网
  • 儿童做的小游戏下载网站网络营销的现状分析
  • 聊城做网站建设的公司站长seo推广
  • 邢台wap网站建设价格外贸独立站建站
  • 深圳网站建设服务哪家便宜网络营销推广要求
  • 哪里做网站seo济南seo优化外包服务
  • 网页制作入门与进阶seo店铺描述