팰린드롬 세기
시간 제한2초메모리 제한64 MB
소문자로 이루어진 문자열에서 각 구간 질의 안에 완전히 포함된 팰린드롬 부분 문자열 개수를 구합니다.
문제
모의고사를 열고 싶었지만 낼 문제가 없던 운영진은 머릿속에 떠오른 두 낱말, 팰린드롬과 자료구조를 섞어 문제를 내기로 했다.
승현이가 알파벳 소문자로만 이루어진 문자열 를 만들었다. 인 두 정수 , 에 대해 는 의 번째 문자부터 번째 문자까지를 차례로 이어 붙인 부분문자열이다.
질의 하나는 두 정수 , 로 주어진다. 각 질의마다 안에 놓인 팰린드롬이 몇 개인지 세면 된다. 다시 말해 이면서 가 팰린드롬인 순서쌍 의 개수를 구한다. 같은 문자열이라도 시작 위치가 다르면 따로 센다.
입력
첫째 줄에 승현이가 만든 문자열 가 주어진다. 는 알파벳 소문자 a부터 z까지로만 이루어져 있고, 길이는 이다.
둘째 줄에 질의의 개수 ()가 주어진다. 이어지는 개의 줄에 각각 두 정수 와 ()가 주어진다.
출력
질의마다 안에 놓인 팰린드롬의 개수를 입력에 주어진 순서대로 한 줄에 하나씩 출력한다.
힌트
문자열 이 팰린드롬이라는 것은 앞에서 뒤로 읽으나 뒤에서 앞으로 읽으나 같다는 뜻이다. 즉 을 만족하는 가 팰린드롬이다. 길이가 1인 문자열은 언제나 팰린드롬이다.
는 문자열 의 길이이다.