2018百度之星程序設計大賽 - 資格賽 1002 子串查詢

子串查詢

?

?Accepts: 1262

?

?Submissions: 5335

?Time Limit: 3500/3000 MS (Java/Others)

?

?Memory Limit: 262144/262144 K (Java/Others)

Problem Description

度度熊的字符串課堂開始了!要以像度度熊一樣的天才為目標,努力奮斗哦!

為了檢驗你是否具備不聽課的資質,度度熊準備了一個只包含大寫英文字母的字符串?A[1,n] = a_1 a_2 \cdots a_nA[1,n]=a?1??a?2???a?n??,接下來他會向你提出?qq?個問題?(l,r)(l,r),你需要回答字符串?A[l,r] = a_l a_{l+1} \cdots a_rA[l,r]=a?l??a?l+1???a?r???內有多少個非空子串是?A[l,r]A[l,r]?的所有非空子串中字典序最小的。這里的非空子串是字符串中由至少一個位置連續的字符組成的子序列,兩個子串是不同的當且僅當這兩個子串內容不完全相同或者出現在不同的位置。

記?|S|∣S∣?為字符串?SS?的長度,對于兩個字符串?SS?和?TT?,定義?SS?的字典序比?TT?小,當且僅當存在非負整數?k(\leq \min(|S|,|T|))k(≤min(∣S∣,∣T∣))?使得?SS?的前?kk?個字符與?TT?的前?kk?個字符對應相同,并且要么滿足?|S| = k∣S∣=k?且?|T| > k∣T∣>k,要么滿足?k < \min(|S|,|T|)k<min(∣S∣,∣T∣)?且?SS?的第?k+1k+1?個字符比?TT?的第?k+1k+1?個字符小。例如 "AA" 的字典序比 "AAA" 小,"AB" 的字典序比 "BA" 小。

Input

第一行包含一個整數?TT,表示有?TT?組測試數據。

接下來依次描述?TT?組測試數據。對于每組測試數據:

第一行包含兩個整數?nn?和?qq,表示字符串的長度以及詢問的次數。

第二行包含一個長為?nn?的只包含大寫英文字母的字符串?A[1,n]A[1,n]。

接下來?qq?行,每行包含兩個整數?l_i,r_il?i??,r?i??,表示第?ii?次詢問的參數。

保證?1 \leq T \leq 101≤T≤10,1 \leq n,q \leq 10^51≤n,q≤10?5??,1 \leq l_i \leq r_i \leq n1≤l?i??≤r?i??≤n

Output

對于每組測試數據,先輸出一行信息 "Case #x:"(不含引號),其中 x 表示這是第?xx?組測試數據,接下來?qq?行,每行包含一個整數,表示字符串?A[l,r]A[l,r]?中字典序最小的子串個數,行末不要有多余空格。

Sample Input

1
2 3
AB
1 1
1 2
2 2

Sample Output

Copy

Case #1:
1
1
1

前綴字母A~Z的個數,復雜度(O(n))

#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>
#include <map>
#include <set>
#include <stack>
#define fora(i,a,b) for(i=a;i<b;i++)
#define fors(i,a,b) for(i=a;i>b;i--)
#define fora2(i,a,b) for(i=a;i<=b;i++)
#define fors2(i,a,b) for(i=a;i>=b;i--)
#define PI acos(-1.0)
#define eps 1e-6
#define INF 0x3f3f3f3ftypedef long long LL;
typedef long long LD;
using namespace std;
const int maxn=1e5+11;
char str[maxn];
int qz[maxn][33];
int main()
{int T,t=0,len;scanf("%d",&T);while(T--){int n,q;scanf("%d%d%s",&n,&q,str);int i,j;len=strlen(str);fora(i,0,len){fora(j,0,26){qz[i+1][j]=qz[i][j];}qz[i+1][str[i]-'A']++;}printf("Case #%d:\n",++t);while(q--){int L,R;scanf("%d%d",&L,&R);fora(i,0,26){//printf("****%c %d %d\n",i+'A',qz[R+1][i],qz[L][i]);if(qz[R][i]-qz[L-1][i]>0){printf("%d\n",qz[R][i]-qz[L-1][i]);break;}}}}return 0;
}

?

轉載于:https://www.cnblogs.com/107acm/p/9428305.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538104.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538104.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538104.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql sleep詳解_MySQL中sleep函數的特殊現象示例詳解

前言MySQL中的系統函數sleep&#xff0c;實際應用的場景不多&#xff0c;一般用來做實驗測試&#xff0c;昨天在測試的時候&#xff0c;意外發現sleep函數的一個特殊現象。如果在查詢語句中使用sleep函數&#xff0c;那么休眠的時間跟返回的記錄有關。如下測試所示&#xff1a;…

使用maven構建dubbo服務的可執行jar包

maven 項目結構 <build><!-- 使用dubbo推薦的方法&#xff0c;打包成jar&#xff0c;調用main方法啟動 --><finalName>admin-service-user</finalName><resources><resource><targetPath>${project.build.directory}/classes</ta…

計算機網絡安全應具備的功能,2016計算機專業知識:網絡系統安全體系具備功能攻擊方法...

【導讀】為了幫助廣大考生更好的備考&#xff0c;中公事業單位考試網提供2016年計算機專業知識《網絡系統安全體系具備功能攻擊方法》學習&#xff0c;為考生定制計算機基礎知識復習計劃。一、網絡系統安全體系具備功能1.訪問控制;2.檢查安全漏洞;3.攻擊監控;4.加密通訊;5.認證…

Linux的標準I/O和管道

標準輸入輸出與管道 1、標準輸入和輸出程序&#xff1a;指令數據指令&#xff1a;計算、加減乘除數據&#xff1a;輸入數據、輸出數據2、在Linux中每一個打開的文件都會分配一個當前進程中唯一的文件描述符&#xff0c;用來標識文件的狀態fd:file descripor3、Linux提供給程序…

頁面url帶參數_微信小程序云開發教程微信小程序的JS高級頁面間數據傳遞

同學們大家好&#xff0c;我是小伊同學&#xff0c;上一節課我們講解了全局數據的讀寫方法&#xff0c;那么在頁面間同樣需要數據交互&#xff0c;今天我們就來學習這部分內容。在微信小程序中&#xff0c;我們常常需要將數據在頁面之間進行傳遞&#xff0c;比如用戶的身份信息…

軟件測試員對英語,軟件測試工程師英語面試題

以下是軟件測試工程師部分英語面試中的參考回答&#xff0c;僅提參考&#xff1a;Interview English&#xff1a;一&#xff0c;Why are you interested in working for our company?1。Because your company has a good sales record.2。Because your operations are global,…

OpenGL——二維幾何變換

平移、旋轉、縮放的實現 #include<iostream> #include <math.h> #include<Windows.h> #include <GL/glut.h>using namespace std;GLsizei winWidth 600, winHeight 600;GLfloat xwcMin 0.0, xwcMax 225.0; GLfloat ywcMin 0.0, ywcMax 225.0;cla…

在Eclipse 中打開當前文件夾

原文連接&#xff1a;https://www.cnblogs.com/panie2015/p/5985053.html ------------------------------------------------------------------------ 最近試過好多次&#xff0c;安裝插件來 在Eclipse 中打開當前文件所在文件夾&#xff0c;結果總是不甚如意。 煩躁了&…

清華大學計算機系主任應明生,清華大學計算機科學與技術系導師簡介:應明生...

對考生而言&#xff0c;充分了解高校、專業以及師資情況是一項最基礎、最關鍵的工作。以下是中公考研小編為大家整理的“清華大學計算機科學與技術系導師簡介&#xff1a;應明生”的相關信息&#xff0c;希望對同學們有所幫助。姓名&#xff1a;應明生職稱&#xff1a;教授郵件…

在VS2013平臺下如何快速解決c++代碼內存泄漏問題

在學習FPS3000人臉關鍵點定位算法時&#xff0c;發現github上的源碼&#xff0c;存在大量的內存泄漏問題&#xff0c;在訓練的時發現內存一直在增長&#xff0c;測試的時候也存在內存無法徹底釋放的問題。 一直以為是存放模型參數vector<class>結構的問題&#xff0c; 采…

python請簡述構造函數和析構函數的作用_python – 構造函數和析構函數如何工作?...

我正在嘗試理解這段代碼&#xff1a;class Person:Represents a person population 0def __init__(self,name)://some statements and population 1def __del__(self)://some statements and population - 1def sayHi(self):grettings from personprint Hi My name is %s % s…

服務器應用日志清理,Linux下Tomcat日志定期清理

服務器上的tomcat的catalina.out文件越來越大&#xff0c;查看起來很不方便&#xff0c;以前每次都是想起來的時候手工清理一下(cat /dev/null > catalina.out)&#xff0c;后來發現了logratate這個工具&#xff0c;Ubuntu下的mysql,nginx好像也是用的這個工具還定期整理log…

dubbo簡易監控中心安裝

dubbo簡易監控中心也是dubbo服務應用。 為什么叫“簡易”&#xff1f;這是阿里巴巴定義的&#xff0c;意思是功能不多但夠用&#xff0c;可以自己擴展。 1、下載dubbo源碼&#xff0c;要與使用的dubbo版本一致。 https://github.com/alibaba/dubbo/releases 2、maven instal…

前端架構設計1:代碼核心

現在的前端領域, 隨著JS框架, UI框架和各種庫的豐富, 前端架構也變得十分的重要. 如果一個大型項目沒有合理的前端架構設計, 那么前端代碼可能因為不同的開發人員隨意的引入各種庫和UI框架, 導致代碼量變得異常臃腫, 最終結果可能是代碼變得無法維護, 頁面性能低下,不得已只能推…

如何用法向量求點到平面距離_支持向量機(SVM)

最近完成的一個項目用到了SVM&#xff0c;之前也一直有聽說支持向量機&#xff0c;知道它是機器學習中一種非常厲害的算法。利用將近一個星期的時間學習了一下支持向量機&#xff0c;把原理推了一遍&#xff0c;感覺支持向量機確實挺厲害的&#xff0c;尤其是核函數變換可以把一…

TortoiseSVN 1.9.5安裝 與 Eclipse4.4.2中安裝SVN插件 圖解詳解

原文鏈接&#xff1a;http://blog.csdn.net/chenchunlin526/article/details/54631458 Eclipse svn 插件官網&#xff1a;http://subclipse.tigris.org/ Eclipse svn 插件更新網站&#xff1a;https://github.com/subclipse/subclipse/wiki -------------------------------…

虛擬服務器關機返回用戶信息,在Linux服務器關機前向用戶顯示一條自定義消息...

在先前的文┞仿中&#xff0c;我們說清楚明了 Linux 中 shutdown、poweroff、halt、reboot 敕令的不合之處&#xff0c;并揭示了在用不合的選項履行這些敕令時它們實際做了什么。# shutdown 13:25本篇將會向你展示如安在體系關機時向所有的體系用戶發送一條自定義的消息。建議瀏…

eclipse svn不能忽略文件及文件夾,ignore設置無效 ?

SVN這塊做得不好&#xff0c;如果之前提交過此文件&#xff0c;就不能設置忽略該文件了。所以第一次提交的時候要搞清楚再提交。 【 親測&#xff0c;的確如此&#xff0c;用 Windows -> Preferences -> Team -> Ignored Resources 方法不行。 項目右鍵--team--設置…

華為服務器產品系列號查詢,華為LIST全系列 服務器產品速查清單

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓型號 描述S5700-EI-AC-B09 S5700-52C-EI交換機(48個10/100/1000Base-T RJ45,2個10GE SFP上行口, 含堆疊卡)S5700-EI-AC-B06 S5700-28C-EI交換機(24個10/100/1000Base-T RJ45,2個10GE SFP上行口, 含堆疊卡)FC0M00S67403 S6748-EI交換…

BZOJ4300 絕世好題

目錄 BZOJ4300 絕世好題題解&#xff43;&#xff4f;&#xff44;&#xff45;BZOJ4300 絕世好題 題目傳送門 題解 比較簡單的\(DP\)&#xff0c;記\(f[i]\)表示第\(i\)位為&#xff11;&#xff0c;最長的長度為多少。只需要枚舉每一個數字&#xff0c;對于這個數字二進制下…