Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[問題追加] Persistent Range Affine Range Sum #1294

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

NachiaVivias
Copy link
Collaborator

resolve #760

問題文が複雑ですがあまり吟味していません。

テストケース:

  • range affine range sum にあるランダムケースと同じ方法
  • クエリの種類を絞ったもの

@NachiaVivias
Copy link
Collaborator Author

correct.cpp は、すべて更新クエリの場合におよそ $6.7 \times 10^6$ 個のノードを生成します。

$Q = 2\times 10^5$ だと、たぶん普通に実装した永続遅延セグメント木が MLE する場合もあると思うので、 $10^5$ で押さえました。 $N$$10^5$ にしていますが、これは必要性はないと思います。

@maspypy
Copy link
Collaborator

maspypy commented Dec 17, 2024

問題文

k_i, l_i, r_i などが単に k, l, r と書かれていたりもする(さぼるなら最初から省略でもいいかも)。

制約で突然 t_i が出てきて少し悩んだ。制約のところに、「ただし t_i はクエリ i のクエリタイプ」くらい書いておくとかするといいかも。(persistent unionfind と同じ記法であるが、あっちは入力形式内で定義されていると見なせる)

@NachiaVivias
Copy link
Collaborator Author

クエリの説明ではクエリのパラメータの添え字は使わない方にしました。

制約の前に「 $t _ i$ を、 $i$ 番目のクエリの種類とします ($0\leq i \lt Q$ , $t _ i\in\lbrace 0,1,2\rbrace$)。」と書いたうえで、以降の制約を書き直しました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[問題案] Persistent Range Affine Range Sum
2 participants