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
528 stars 121 forks source link

Split "Math" into smaller topics #694

Closed cai-lw closed 4 months ago

cai-lw commented 3 years ago

Problems in "Math" are already kind of sorted by topics so I suggest splitting it into the following categories.

The name "math" is confusing since technically every algorithm is math. The concept of "math" is too large compared to other existing categories like "graph", "matrix", "string", etc.. There are also too many problems in "math" making it somewhat difficult to find problems.

hos-lyric commented 3 years ago

I agree with splitting. I hope it's done when technical difficulties are resolved.

cai-lw commented 3 years ago

@hos-lyric

"Number theory" and "Modular Arithmetic": Perhaps a bit hard to distinguish?

Due to the prevalence of mod 998244353/1000000007 in competitive programming, I think modular arithmetic deserves its own category. But I'm also fine with merging them with other number theory topics.

"Polynomials": I assume this would include power series.

Yes

yosupo06 commented 3 years ago

By backend-side changing, we becomes to be able to modify top page by editing this file https://github.com/yosupo06/library-checker-problems/blob/master/categories.toml

yosupo06 commented 2 years ago

By splitting polynomial problems, I feel # of problems in "Math" is acceptable, so close this issue for now. (We will create another topic (probably Number theory) in the future.)

maspypy commented 2 years ago

I feel # of problems in "Math" is acceptable

「math が多すぎる」というよりも、「分類名として不適切である」という理由から、変えたいと思うのですが、この点についてはいかがお考えですか?私は以下に強く同意しています。

The name "math" is confusing since technically every algorithm is math. The concept of "math" is too large compared to other existing categories like "graph", "matrix", "string", etc..

math を「その他」のような意味で使用していませんか?綺麗な分類が難しくて未分類枠ができてしまうことは理解できますが、その枠が math という名前であることには反対です。難しいものは「その他」「未分類」「その他のmath」のような名称の分類をつけるのが良いと思います。

仮の具体案も置いておきます。

Sequence "binomial_coefficient", "stirling_number_of_the_first_kind", "stirling_number_of_the_second_kind", "bernoulli_number", "partition_function", "montmort_number_mod", "sum_of_exponential_times_polynomial", "sum_of_exponential_times_polynomial_limit", "find_linear_recurrence", "kth_term_of_linearly_recurrent_sequence",

NumberTheory "counting_primes", "enumerate_primes", "factorize", "sum_of_totient_function", "sum_of_floor_of_linear", "sqrt_mod", "kth_root_mod", "discrete_logarithm_mod", "tetration_mod",

Miscellaneous ? ("Other", "Other Math", "Uncategorized", ...) "kth_root_integer", "nim_product_64", "sharp_p_subset_sum", "two_sat"

maspypy commented 4 months ago

https://github.com/yosupo06/library-checker-problems/pull/1193