[過去ログ]
競技プログラミングにハマるプログラマのスレ 218 (1002レス)
競技プログラミングにハマるプログラマのスレ 218 http://medaka.5ch.net/test/read.cgi/prog/1741958338/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
125: 仕様書無しさん [sage] 2025/03/15(土) 23:17:46.68 解けました(文字数制限の影響でインクルードと入力、prefixとsufixの種類数計算、セグ木クラスの定義は消した、一般的な実装なので補完してください) int main(){ vector<int> prevArr(N+1, 0); vector<int> lastOcc(N+1, 0); for (int i = 1; i <= N; i++){ prevArr[i] = lastOcc[A[i]]; lastOcc[A[i]] = i; } int m = N - 1; vector<int> cand(m, 0); for (int i = 0; i < m; i++){ cand[i] = D1[i+1]; } SegTree seg(m); seg.build(cand, 1, 0, m-1); int ans = 0; for (int j = 2; j <= N-1; j++){ int L = max(prevArr[j], 1); int R = j - 1; if (L <= R) { seg.update(1, 0, m-1, L - 1, R - 1, 1); } int ql = 0, qr = j - 2; if (ql <= qr) { int best = seg.query(1, 0, m-1, ql, qr); ans = max(ans, best + S[j+1]); } } cout << ans << "\n"; return 0; } http://medaka.5ch.net/test/read.cgi/prog/1741958338/125
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 877 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.006s