Open yosupo06 opened 5 years ago
とりあえずは,テストケース名から小さいデータで通っていること (やその実行時間) がわかれば満足かなという気持ちでいました
確かに、現状では優先度低そうで大丈夫ですね
必要そうな問題が溜まってきたんで、真面目に考えます
ドラフト(随時更新)
変数名とか深く考えていません
満たしたい条件が多すぎる(素朴)
部分点っぽいものを導入
info.tomlに
[[subtasks]]
name = "default"
case = ['example_00.in', 'small_*.in']
[[subtasks]]
name = "big"
case = ['example_*.in', 'small_*.in', 'random_*.in']
みたいになんらかのケースの集合を指定する。subtaskには順序関係を定義するのが自然(=dictではなくarray)で、基本的には制約のサイズ順とする(=defaultが一番上とは限らない, 上に追加したり下に追加したりする)
(問題, 部分点)ごとに一意なURLか何かを与えないと不都合が生まれないか?
少なくとも
これは満たすようにするので、現状制約をどうするかで悩んでいる問題は一番自然な制約で作ってしまうことにします
部分点ごとに一意な URL はかなりほしいです。library-checker-problems を競プロライブラリの CI から利用することを考えたとき、どの部分点のものを使うのかの指定が簡単だとうれしいので
部分点の表示の仕方として、
の2種類があると思っています。で、今のところ前者で行きたいと思ってます。全体的に「問題を2種類作る」より「問題に部分点を導入する」の方向性で進めたいと思っているからです。
部分点ごとに一意な URL はかなりほしいです。library-checker-problems を競プロライブラリの CI から利用することを考えたとき、どの部分点のものを使うのかの指定が簡単だとうれしいので
これが問題で、前者の形式を採用すると部分点ごとにURLを与えにくいです。
なので現状の案としては
問題概要
aplusbを求めてください
制約(default)
- 0 <= A, B <= 1e9
- oj用タグ: https://judge.yosupo.jp/problems/aplusb#default (押すと←がクリップボードにコピーされるボタン)
制約(small)
- 0 <= A, B <= 100
- oj用タグ: [https://judge.yosupo.jp/problems/aplusb#small] (同上)
のようにURLアンカー(正式名称知らず)や、aplusb?subtask=small
のように(特に何にも使わない)GETパラメーターなどで区別することを考えています。
77 のように、計算量によって実装量が数倍変わるような問題が存在する、こういうのをどうするか?
よってこのジャッジとしては大きいほうと小さいほう両方をチェックできる仕組みを導入したい
そこで現状考えているのは2つで、
問題を2種類作る Pros:
Cons:
問題に部分点を導入する Pros:
Cons: