poj 1159 (메모 dp)
Time Limit: 3000MS
Memory Limit: 65536K
Total Submissions: 49315
Accepted: 16937
Description
A palindrome is a symmetrical string, that is, a string read identically from left to right as well as from right to left. You are to write a program which, given a string, determines the minimal number of characters to be inserted into the string in order to obtain a palindrome.
As an example, by inserting 2 characters, the string "Ab3bd"can be transformed into a palindrome ("dAb3bAd"or "Adb3bdA"). However, inserting fewer than 2 characters does not produce a palindrome.
Input
Your program is to read from standard input. The first line contains one integer: the length of the input string N, 3 <= N <= 5000. The second line contains one string with length N. The string is formed from uppercase letters from 'A' to 'Z', lowercase letters from 'a' to 'z' and digits from '0' to '9'. Uppercase and lowercase letters are to be considered distinct.
Output
Your program is to write to standard output. The first line contains one integer, which is the desired minimal number.
Sample Input
5
Ab3bd
Sample Output
2
Source
IOI 2000
제목이 간단하다.
사실 회문열이 사용할 수 있는 유일한 성질은str[i]~str[j]가 회문열이면str[i+1]~str[j-1]도 회문열이다.
이 성질을 잘 하면 대다수의 회문열 문제를 해결할 수 있다.
Timeout을 한 번 공헌했는데, 오랫동안 보지 못했다.
레코드를 커밋하려면 다음과 같이 하십시오.
1. Timeout은 뇌 장애자가 순환을 많이 썼기 때문이다.표를 비스듬히 채울 때 i와interval이 확실할 때 j가 유일하게 확실합니다.
더 이상 j에 대한 순환을 하지 마세요!
2、Accepted.
코드는 다음과 같습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.