結果
| 問題 | 
                            No.599 回文かい
                             | 
                    
| コンテスト | |
| ユーザー | 
                             torikumino
                         | 
                    
| 提出日時 | 2019-05-04 15:26:49 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                TLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 351 bytes | 
| コンパイル時間 | 156 ms | 
| コンパイル使用メモリ | 82,176 KB | 
| 実行使用メモリ | 83,456 KB | 
| 最終ジャッジ日時 | 2024-06-22 23:10:12 | 
| 合計ジャッジ時間 | 17,567 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 14 TLE * 1 -- * 7 | 
ソースコード
s = input()
p = 10**9+7
m = 2**64
h, w = [0], [1]
for c in s:
    h.append((h[-1]*p+ord(c))%m)
    w.append(w[-1]*p%m)
def H(i, j):
    return (h[j]-h[i]*w[j-i])%m
n = len(s)//2+1
dp = [1]*n
for i in range(n)[::-1]:
    for j in range(i+1, n):
        if H(i, j) == H(len(s)-j, len(s)-i):
            dp[i] += dp[j]
            dp[i] %= p
print(dp[0])
            
            
            
        
            
torikumino