매내처 3

BOJ(백준) 30400번 팰린드롬 제거

https://www.acmicpc.net/problem/30400 30400번: 팰린드롬 제거 이안이는 팰린드롬을 싫어한다. 팰린드롬인 단어를 보면 당장 그 단어를 지워야 할 정도로 팰린드롬을 매우 싫어한다. 팰린드롬은 'level', 'bob'과 같이 양쪽으로 읽었을 때 동일하게 읽히는 단어 www.acmicpc.net 매내처 알고리즘 응용 문제 처음에 문제를 해결한 방식은 다음과 같다. (조금 복잡한 방식이다 아래에 훨씬 단순한 방법이 있다.) 우선 매내처를 이용해 길이가 M인 팰린드롬 구간을 모두 찾는다. 각각의 구간들이 이러한 시작과 끝을 같는다고 하자. 구간 각각의 문자들 중에서 하나 이상의 문자가 파괴되기만 하면 조건을 만족하므로 우리가 구해야 될 것은 그림에서 최소 몇개의 수직선을 그어야 ..

BOJ(백준) 14417번 팰린드롬과 쿼리2

https://www.acmicpc.net/problem/14417 14417번: 팰린드롬과 쿼리 2 첫째 줄에 문자열 S가 주어진다. 문자열의 길이는 100,000을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 둘째 줄에는 쿼리의 개수 M (1 ≤ M ≤ 100,000)이 주어진다. 셋째 줄부터 M개의 줄에는 쿼 www.acmicpc.net 쿼리에서 체크해야 될 펠린드롬의 조건은 다음과 같다 ① S의 index번째에서 시작할 것 ② 길이가 적어도 len일 것 쿼리에서 입력받는 index를 i, 길이를 L이라고 할 때 조건 ①은 it1>>t2; t1++; int tmp=query(1,1,N,t2?(t1*2+t2-2):(t1*2-1),N,-t1); if(!t2)tmp++; cout

BOJ(백준) 25582번 pqbd

https://www.acmicpc.net/problem/25582 25582번: pqbd 천재적인 수학적 재능을 타고난 7살 철수의 영어 교육을 위해 철수의 어머니는 알파벳 소문자 모양 장난감 블럭을 구입하였다. 하지만 철수는 영어 공부보단 알파벳의 생김새에 대한 기하학적 www.acmicpc.net 문제에 나오는 거울 대칭과 점 대칭은 일종의 특수한 조건의 펠린드롬이라고 이해할 수 있다. 그래서 부분 문자열 최장 펠린드롬 알고리즘을 살짝 수정하여 점 대칭과 거울 대칭 각각의 최대 길이를 구하고 둘 중에 큰값을 출력하면 되는 문제이다. 그러나 N>s; len=s.length(); for(int i=0;i