結果

問題 No.3782 Synchronized Subsequences
コンテスト
ユーザー kidodesu
提出日時 2026-11-05 17:31:28
言語 PyPy3
(8.0.1 + ACL)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
TLE  
実行時間 -
コード長 908 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 94 ms
コンパイル使用メモリ 64,504 KB
実行使用メモリ 134,904 KB
最終ジャッジ日時 2026-11-05 17:32:42
合計ジャッジ時間 70,681 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 32 TLE * 8
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

from atcoder.segtree import SegTree
def main():
    n = int(input())
    P = list(map(lambda x: int(x)-1, input().split()))
    Q = list(map(lambda x: int(x)-1, input().split()))
    st0 = SegTree(lambda a, b: max(a, b), 0, [0]*n*n)
    st1 = SegTree(lambda a, b: max(a, b), 0, [0]*n*n)
    ans = 0
    for pi in range(n):
        st0_ = SegTree(lambda a, b: max(a, b), 0, [0]*n)
        st1_ = SegTree(lambda a, b: max(a, b), 0, [0]*n)
        for qi in range(n):
            p, q = P[pi], Q[qi]
            a = max(st0.prod(qi*n+p, qi*n+n), st1.prod(qi*n, qi*n+p))+1
            ans = max(ans, a)
            st0_.set(q, a)
            st1_.set(q, a)
            x, y = st0_.prod(q+1, n), st1_.prod(0, q)
            #print(p, q, x, y, a, "here", *[st1_.get(i) for i in range(n)])
            st0.set(qi*n+p, x)
            st1.set(qi*n+p, y)
    return ans

for _ in range(int(input())):
    print(main())
0