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

[問題案] Range Update All Frequency #990

Open
SSRS-cp opened this issue May 9, 2023 · 7 comments
Open

[問題案] Range Update All Frequency #990

SSRS-cp opened this issue May 9, 2023 · 7 comments
Labels
contributions-welcome 審査済み work in progress 担当者が決定した

Comments

@SSRS-cp
Copy link
Collaborator

SSRS-cp commented May 9, 2023

問題名: Range Update All Frequency

問題概要

長さ $N$ の数列 $A _ 0, A _ 1, \ldots, A _ {N-1}$ が与えられる.$Q$ クエリ処理
1 L R X: $i = L, L+1, \ldots, {R-1}$ について,$A _ i \leftarrow X$
2 X: $i = 0, 1, \ldots, N-1$ のうち,$A _ i = X$ であるものの個数を答える

制約

  • $1 \leq N, Q \leq 500000$
  • $1 \leq A _ i, X \leq 10^9$

解法

同じ値のところを set などで管理するテク

@noshi91
Copy link
Collaborator

noshi91 commented May 9, 2023

All Composite か、セグ木無しでやりたいなら集合ハッシュを出力させるのが良いかなという気がします。

@maspypy
Copy link
Collaborator

maspypy commented May 11, 2023

定数区間を適切に管理する。というのが問いたいものであるならば、
aa,bbb と a,a,b,b,b
とかで答が変わるようにする(つまり区間の個数が最小になるようにして定数区間を管理させる)のが良いと思ったのですが、どうですか?(例えば $A_l = \cdots = A_{r-1} = X$ となる $(l,r)$ の数え上げとか)

@noshi91
Copy link
Collaborator

noshi91 commented May 11, 2023

ランレングス圧縮で $a$$c$ 個あるとしたときの $\sum x _ a y _ c$$\sum x _ a ^ c$ を出力とかどうでしょうか。

@noshi91
Copy link
Collaborator

noshi91 commented May 11, 2023

$a$$\lbrack l , r \rparen$ に存在するときに $\sum x _ a y _ l z _ r$ を出力させても良いかもしれません。

@maspypy
Copy link
Collaborator

maspypy commented Jul 29, 2023

いかにも普段ぜんぜん見ないような問い方をしてびっくりさせてしまうのがちょっと。
何のライブラリに関する問題かとかが経緯を知らないと理解しにくくなるかも。
そこまできちんとやらなくてもいいのでは?という気がしています。

@maspypy
Copy link
Collaborator

maspypy commented Jan 26, 2024

単に区間を管理するライブラリを対象とした問題ということで、次のようにしたいと思います。(セグメント木も使うタイプは https://judge.yosupo.jp/problem/range_set_range_composite ということで)


  • 1 L R X: $A _ i \leftarrow X$
  • 2 i: $x=A_i$ を含む極大な定数区間を答える(l r x を出力)

@maspypy maspypy added the contributions-welcome 審査済み label Jan 26, 2024
@NachiaVivias
Copy link
Collaborator

注意:(cf. Range Set Range Composite #1085) 更新区間の選び方が一様ランダムだと、十分な回数の更新後のデータ構造のサイズが期待的にかなり小さくなります。

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

4 participants