AtCoderProblems
AtCoderProblems copied to clipboard
Extend your AtCoder
 現状ユーザー名が未入力のときは入力欄のプレースホルダーに自分のユーザー名が表示されますが、自分のデータが読み込まれるわけではありません。これではややこしいので、ユーザー名が未入力のときは自分のデータを表示するようにしましょう。
`ContestTable` の "Show Rating" ボタンは Estimated Performance に影響しないはずですが、"Show Rating" を押すと Estimated Performance の計算が行われて、ちょっと時間かかります。 例:[このコンテスト](https://kenkoooo.com/atcoder/#/contest/show/b94445b0-36ff-41d3-9613-83523d937fb3) React の Profiler で時間が見えます(~500 ms です)。  Estimated Performance を何 cache すればかなり速くなります。  ```diff + const...
AGC-Aの難易度推定が撤退を考慮するようになりましたが、これを正しく動作させるには撤退者のレートが必要で、現状は過去のレーティングをすべて再計算するときにのみ動作するようになっています。 しかし、一般にコンテスト終了後のレーティング計算では最新のコンテストのデータのみを取得するので実はAGC-Aの難易度推定は撤退考慮がなされていません。私が実装しました、申し訳ない。 これは全データを取得して計算すると計算時間が15分以上になり lambda の制約に収まらないことから諦めたもので、たまに思い出したときに再計算して運用でカバーする想定でしたが、そもそもこういう仕様であることをいい忘れていました。 この問題は難易度推定の処理を lambda から別の部分(EC2?)に動かして、AGCの計算のときにだけ全データをダウンロードするように処理を変更すれば治るはずです。
https://twitter.com/xuzijian629/status/1259772386435448837
漠然と、ユーザの問題を解く・精進するモチベーションを高める機能を充実させたいと考えており、ここでアイデアの共有や検討をできると嬉しいです。 ゲーミフィケーションはプログラミング学習においても、学習者の意欲を高めることが知られています。(AtCoder Problemsでも既に、進捗の可視化やランキングがゲーミフィケーションの要素になっています。) 簡単そうなところですと、バッジ(実績, トロフィー)でしょうか。「解いた問題がX問以上のときA色のメダルを表示する」ような機能はフロントエンドのみの改修で実現できそうです。 より簡単なところでは、フロントエンドの見た目の単純な改善でも、モチベーションの向上に貢献すると思われます。 参考 - Paiza (https://twitter.com/paiza_official/status/510415756438151168) - バッジ - 派手なのはAtCoderのイメージに合わなそう - Project Euler - レベル, 進捗表示
https://twitter.com/lorent_kyopro/status/1251478507164626944
 こんなかんじでバーチャルコンテストの一覧にの問題数が表示されてると選ぶ時の参考になると思いました。 ただ、おそらくバックエンドの修正が必要かつ ```sql SELECT internal_virtual_contests.id, COUNT(*) FROM internal_virtual_contests LEFT JOIN internal_virtual_contest_items ON internal_virtual_contests.id = internal_virtual_contest_items.internal_virtual_contest_id GROUP BY internal_virtual_contests.id; ``` 的な処理をdieselでどう書けば良いかわからなかったため、sqlxに置き換えられるまで待ちます。
``` atcoder=> select count(*) from internal_progress_reset; count ------- 319 ``` ``` atcoder=> select count(*) from internal_problem_lists; count ------- 2149 ```
https://twitter.com/pepsin_amylase/status/1238752761920884736 基本的なアイデアはこれ、つまり解けるか解けないかの人が解くのにかかる時間で近似するというものです。 実装は至ってシンプルで解答時間予測モデルに difficulty 値を放り込むだけですが、Table はすでにかなり情報量があるのでいい感じの見せ方をしたほうがよさそう。 あと推定した値には単位(min)を付さないほうがいい気がします。あまり意味のある時間ではないので。