結果
| 問題 | No.2626 Similar But Different Name |
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2026-10-05 20:20:48 |
| 言語 | Nim (2.2.12 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 206 ms / 3,000 ms |
| + 264µs | |
| コード長 | 30,556 bytes |
| 記録 | |
| コンパイル時間 | 6,156 ms |
| コンパイル使用メモリ | 221,420 KB |
| 実行使用メモリ | 90,524 KB |
| 最終ジャッジ日時 | 2026-10-05 20:21:02 |
| 合計ジャッジ時間 | 13,195 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge1_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 35 |
ソースコード
template originalSource() =
# {.checks: off.}
include cplib/tmpl/citrus
import cplib/str/rolling_hash
import cplib/convolution/convolution
var n, m, k = input(int)
var s, t = input(string)
var shs = initRollingHash(s.toLowerAscii)
var sht = initRollingHash(t.toLowerAscii)
var a = (0..<n).mapIt(int(s[it].isLowerAscii))
var b = (0..<m).mapIt(int(t[it].isLowerAscii)).reversed
var ai = a.mapIt(it ^ 1)
var bi = b.mapIt(it ^ 1)
var d = convolution_ll(a, b)
var di = convolution_ll(ai, bi)
for i in 0..<d.len: d[i] = m - d[i] - di[i]
d = d[m-1..<n]
var ans = 0
for i in 0..n-m:
if shs.query(i..<i+m) != sht.query(0..<m): continue
if d[i] in 1..k: ans += 1
print(ans)
# https://github.com/kemuniku/cplib
import macros;macro cplibRestore(s:static[string]):untyped = parseStmt(s)
cplibRestore("import base64\x0Amacro cplibUnpackSource(): untyped =\x0A # \xE3\x82\xB3\xE3\x83\xB3\xE3\x83\x91\xE3\x82\xA4\xE3\x83\xAB\xE6\x99\x82\xE3\x81\xAB\xE5\xB1\x95\xE9\x96\x8B\xE6\xB8\x88\xE3\x81\xBF\xE3\x82\xB3\xE3\x83\xBC\xE3\x83\x89\xE3\x82\x92\xE5\xBE\xA9\xE5\x85\x83\xE3\x81\x99\xE3\x82\x8B\xE3\x80\x82\x0A let z = decode(\"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\")\x0A var s = \"\"\x0A var i = 0\x0A while i < z.len:\x0A let f = ord(z[i])\x0A inc i\x0A for b in 0..<8:\x0A if i >= z.len: break\x0A if (f and (1 shl b)) == 0:\x0A s.add(z[i])\x0A inc i\x0A else:\x0A let d = ord(z[i])*256+ord(z[i+1])\x0A let n = ord(z[i+2])+3\x0A i += 3\x0A for j in 0..<n: s.add(s[s.len-d])\x0A result = parseStmt(s)\x0AcplibUnpackSource()\x0A")