結果
問題 | No.1171 Runs in Subsequences |
ユーザー | chineristAC |
提出日時 | 2020-08-14 22:04:49 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 308 ms / 2,000 ms |
コード長 | 588 bytes |
コンパイル時間 | 615 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 106,112 KB |
最終ジャッジ日時 | 2024-10-10 15:19:40 |
合計ジャッジ時間 | 3,817 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 18 |
ソースコード
alphabetlist=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] S=input() N=len(S) mod=10**9+7 def solve(alp): dp=[0]*N tmp=0 if S[0]==alp: dp[0]=1 tmp=1 else: tmp=0 for i in range(1,N): if S[i]==alp: dp[i]=2*dp[i-1]+(pow(2,i,mod)-tmp) dp[i]%=mod tmp+=pow(2,i,mod) tmp%=mod else: dp[i]=2*dp[i-1] dp[i]%=mod return dp[-1] ans=0 for a in alphabetlist: ans+=solve(a) ans%=mod print(ans)