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

[問題案] Point Set Range Composite (Large) #828

Open
SSRS-cp opened this issue Aug 4, 2022 · 8 comments
Open

[問題案] Point Set Range Composite (Large) #828

SSRS-cp opened this issue Aug 4, 2022 · 8 comments
Labels
contributions-welcome 審査済み work in progress 担当者が決定した

Comments

@SSRS-cp
Copy link
Collaborator

SSRS-cp commented Aug 4, 2022

問題名: Point Set Range Composite (Large)

問題概要

#122 と同じ。ただし、N≦10^9

想定解法: 必要なところだけ作るセグ木

メモ・検討事項

  • Point Add Range Sum, Point Set Range Composite, Range Affine Range Sum のうちどれを作るか?(複数という可能性もある)
  • 問題名をどうするか
@maspypy
Copy link
Collaborator

maspypy commented Aug 4, 2022

point set と range affine で セグ木 / 遅延セグ木 の 2 種あるとよいのでは。
(メモリ定数倍が大きいことが多いので、作用素の有無でライブラリを分けたい)

ただし

・N が小さい版でもこれを verify できる(が、同解法の中での速度比較はしにくい)
・最速実装はクエリ先読み座圧になってしまいそう(ので、同解法の中での速度比較はしにくい)

とかはありますね。

@SSRS-cp
Copy link
Collaborator Author

SSRS-cp commented Aug 6, 2022

N が小さい版でもこれを verify できる

N が大きい版を作るメリットとして、「無駄なノードを省略することで Θ(QlogN) から Θ(QlogQ) に落とすテク」の verify ができます

@maspypy
Copy link
Collaborator

maspypy commented Jul 29, 2023

  • Point Set Range Composite
    はじめ $f_i(x) = 1x+0$ である
    空間 $O(Q\log N)$ 計算量 $O(Q\log N)$ → 空間 $O(Q)$ 計算量 $O(Q\log N)$ にできる

  • Range Affine Range Sum
    はじめ $a_i = 0$ である
    空間 $O(Q\log N)$ 計算量 $O(Q\log N)$

@maspypy
Copy link
Collaborator

maspypy commented Jul 29, 2023

↑ こうだと思いました

@SSRS-cp

「無駄なノードを省略することで Θ(QlogN) から Θ(QlogQ) に落とすテク」

これって合ってますか? $Q\log Q$ というのはどこにも出てこないと思ったのですが。

@SSRS-cp
Copy link
Collaborator Author

SSRS-cp commented Aug 10, 2023

書いたときのことをあまり覚えていないのですがおそらく $O(Q)$ の勘違いでした、すみません

@maspypy
Copy link
Collaborator

maspypy commented Aug 10, 2023

ありがとうございます。

@maspypy
Copy link
Collaborator

maspypy commented Aug 10, 2023

#828 (comment)

この 2 問で良さそうです。

@maspypy
Copy link
Collaborator

maspypy commented Nov 11, 2024

Range Affine の方がまだ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contributions-welcome 審査済み work in progress 担当者が決定した
Projects
None yet
Development

No branches or pull requests

3 participants