yosupo06 / library-checker-problems

The problem data (Test case generator, judge's solution, task, ...) of Library Checker
https://judge.yosupo.jp/
Apache License 2.0
510 stars 117 forks source link

[問題案] Matrix Argmin #568

Open kmyk opened 4 years ago

kmyk commented 4 years ago

問題ID: matrix_argmin 問題名: Matrix Argmin

想定アルゴリズム: monotone minima (任意) 参考資料: {URL}

問題概要

monotone な H * W 行列 A が与えられる。 A の各行 y < H ごとに、その行における最小値の位置 argminx A{y,x} を求めよ。

入力

H W
A_{0,0} A_{0,1} ... A_{0,W-1}
...
A_{H-1,0} A_{H-1,1} ... A_{H-1,W-1}

出力

x_0
...
x_{H-1}

制約

検討すべき事項

yosupo06 commented 4 years ago

インタラクティブを今週末に実験してみます(いちいちflushとかする必要があるはずで、そもそもどのぐらいの速度が達成できるのか…)

hotman78 commented 1 year ago

monoid が乗るデータ構造に対して monoid 全体を入力として与えていない事を考えると、 monotone/totally monotone/monge に関しても特殊化して与えてしまっても問題ないと思うのですがどうでしょうか。 具体的には、 f(i,j)=g(A_i-A_j)+B_i+B_j ( g は あまり大きくなりすぎない程度の多項式(CHT の区別を考えると 3乗(?)が良い?)) などがあると思います。

hotman78 commented 1 year ago

と書いてから思ったんですが実は新機能の C++(Function) header を応用すれば(言語が限定されてしまいますが)インタラクティブ可能そうなので、それもありですかね。

SSRS-cp commented 1 year ago

通常のインタラクティブ (? i j を出力すると f(i,j) が入力される) を行うのは問題がありますか

hotman78 commented 1 year ago

ジャッジが対応しているかどうかを気にしていたのですが、よく考えると checker.cpp をいじるだけで普通に使えそうな気もしてきました