正题


题目大意

长度为n的字符串,有q个询问,求[l∼r][l\sim r][l∼r]这个区间的最小子串出现次数。


解题思路

这个就是一道坑题
我们可以发现如果有一个长度为2的子串,那么这个子串前面那一部分一定是更小的。
所以最小子串一定是一个字母,我们可以用前缀和瞎搞搞就好了。


code

#include<cstdio>
#define N 1000010
using namespace std;
int n,q,sum[N][26],l,r,t;
char s[N];
int main()
{scanf("%d",&t);for(int ti=1;ti<=t;ti++){scanf("%d%d",&n,&q);scanf("%s",s+1);for(int i=1;i<=n;i++)for(int j=0;j<26;j++)sum[i][j]=sum[i-1][j]+(s[i]=='A'+j);//前缀和for(int i=1;i<=q;i++){scanf("%d%d",&l,&r);for(int j=0;j<26;j++)if(sum[r][j]-sum[l-1][j]>0)//是否有这个字母{printf("%d\n",sum[r][j]-sum[l-1][j]);//输出答案break;}}}
}

nssl1186-字串数量【前缀和】相关推荐

  1. 字符串相关处理kmp,前缀数,后缀树,后缀数组,最长回文串,最长重复字串,最长非重复字串

    1. 最长回文串 一般用后缀数组或者后缀树可以解决, 用此方法:http://blog.csdn.net/v_july_v/article/details/6897097 预处理后缀树,使得查询LCA ...

  2. 求有多少个连续字串中所有的字母都出现了偶数次

    给出一个长度为 n 的字符串(1<=n<=100000),求有多少个连续字串中所有的字母都出现了偶数次. http://acm.upc.edu.cn/problem.php?id=1001 ...

  3. 双指针算法之滑动窗口 | 力扣76.最小覆盖字串

    本文讲解力扣76.最小覆盖字串问题 主要用到的是滑动窗口的思想 目录 76.最小覆盖字串 题目: 分析: 步骤描述: 复杂度分析: 结果 76.最小覆盖字串 题目: 给定字符串 S 以及字符串 T , ...

  4. python leetcode_python实现leetcode中无重复字符的最长字串

    ​无重复字符的最长字串是一道经典的额字符串处理算法的题目,日常编程过程中,处理字符串是很多见的.用Python来实现leetcode这道算法题,这题会涉及到一个概念"滑动窗口"的概 ...

  5. 查找一段文字中最长的重复字串 – 编程珠玑(排过序的后缀数组的应用)

    转自:https://www.cse.msu.edu/~liyang5/?p=53 <编程珠玑>在第15章"珍珠字符串"一节,给出了一个非常漂亮的实现 – 基于目标字符 ...

  6. [指数型生成函数专练]chocolate,红色病毒问题,排列组合,字串数

    文章目录 T1:chocolate 题目 题解 code T2:"红色病毒"问题 题目 题解 code T3:排列组合 题目 题解 code T4:字串数 题解 code T1:c ...

  7. LC3无重复最长字串

    链接:无重复最长字串 步骤: 定义两个指针i,j 表示当前扫描到的字串是[i,j] (闭区间)扫描过程中维护一个哈希表unordered_map<char,int> hash 表示[i, ...

  8. 后缀数组以及利用后缀数组求取最长公共字串

    后缀树组是一个字符串的所有后缀的排序数组.后缀是指从某个位置 i 开始到整个串末尾结束的一个子串.字符串 r 的从 第 i 个字符开始的后缀表示为 Suffix(i) ,也就是Suffix(i)=r[ ...

  9. P1279 字串距离【动规】

    P1279 字串距离 link 思路: 设f[i][j]表示A字符串为i的前缀,B字符串为j的前缀的最小距离. 对于f[i][0](i ~ l e n A ) len_A) lenA​), f[0][ ...

  10. LeetCode中等题之无重复字符的最长字串

    题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 &q ...

最新文章

  1. php arrayaccess 二维,php的ArrayAccess(数组式访问接口)
  2. 《为自己工作——世界顶级设计师成功法则》—第1章1.7节平衡
  3. 二叉树(前序遍历序列、中序遍历序列、后序遍历序列、层次遍历序列、深度、叶子数)
  4. c++ new一个结构体_C语言结构体,又一个纸老虎,纯干货讲解(附代码)
  5. linux编译静态库的头文件,条件编译,头文件,静态库,共享库与多文件编程
  6. CentOS下安装jdk1.8.0_181
  7. 怎么创建数据表的实体类和业务类_SSM搭建二手市场交易平台(二):数据表设计...
  8. 新版Cadence打开PSpice8.0工程文件
  9. Cisco模拟器DHCP详细教程
  10. 小程序直播送礼物svga展示
  11. 印度软件外包领军企业上演安然门
  12. 80C51单片机学习之硬件结构
  13. 进击的DApp:区块链上将长出怎么样的新事物?
  14. 微信图文编辑器如何添加超链接?
  15. windows系统erlang和rabbitMQ安装教程(附网盘下载地址)
  16. 利用摄像头拍照并保存
  17. a++和++a的区别
  18. 深度自动编码器(Deep Auto-encoder)
  19. java SpringBoot 集成 阿里云视频直播 完成直播功能
  20. kb4023057安装失败_kb4023057是什么补丁?

热门文章

  1. mysql主主同步冲突_MySQL主主同步主键冲突处理
  2. java if or android_RxJava switchIfEmpty操作符实现Android检查本地缓存逻辑判断
  3. java对象实例_深入理解Java对象实例生成的例子!(转)
  4. c#事件的发布-订阅模型_微信灰度测试订阅号付费功能,小米推出最便宜5G套餐,腾讯辟谣高管猝死赔钱事件,核心期刊发布十岁儿童文章,这就是今天的其他大新闻!...
  5. python获取系统时间函数_简单记录python的时间函数操作
  6. android+百度lbs云,百度——LBS.云 v2.0——云存储扩展字段——Android
  7. [蓝桥杯2016决赛]一步之遥-枚举
  8. 关于解决Path被大改,无法直接编辑恢复的问题
  9. 基本程序单元Activity—Activity生命周期之数据传递小程序
  10. 拓展欧几里得小结(初级理解)