kmyk-jikka / Jikka

an automated solver for problems of competitive programming
https://kmyk-jikka.github.io/Jikka/playground
Apache License 2.0
152 stars 11 forks source link

Add Jikka.Core.Convert.EqualitySolving #135

Closed hotman78 closed 2 years ago

hotman78 commented 2 years ago

close #126

特にList周りについて合ってるのか不安なのですが、一人で悩んでも埒が明かなそうなのでpull requestとして投げさせて頂きました。

hotman78 commented 2 years ago

作成中にわからない点がいくつか出てきてしまったので質問させていただいてよろしいでしょうか a==b を a-b==0 に変える変換は<=等でも成り立つ気がしますがこれは別のファイルでやるべきということですか?

単射の関数として 例えば (a^b)-(c^b)==0 を a-c に変える変換等は行うべきですか?

kmyk commented 2 years ago

<=等でも成り立つ気がしますがこれは別のファイルでやるべきということですか?

同じファイルでも別ファイルでもどちらでも構いません。やりやすい方で大丈夫です

(a^b)-(c^b)==0 を a-c に変える変換等は行うべきですか?

単射性を使った変換はなし (あるいは簡単にできるところまで) で大丈夫です

(#126 のチェックリストはとりあえず思い付いたものを列挙してみただけなので、リストにないものでも、あった方がよさそうなら足しておいてくれるとうれしい。逆に、リストに書かれてても、なくてもよさそうなものは無視してしまってください)


examples/dp_z-kubaru.py の変換が壊れてしまってるみたいです。 $ stack run convert examples/dp_z-kubaru.py とか $ python3 scripts/integration_test.py -k dp_z-kubaru とかすると詳細が出てくるので確認してみてほしい。

kmyk commented 2 years ago

@hotman78 まだ Draft になってるけど、バグなく動いてそうだし、ひとまずマージしてしまうのはどうだろう? まだやることがあったりなかったりするかもだけど、必要なら後から追加でやればよいので

hotman78 commented 2 years ago

ありがとうございます!! ちょうど単射のやつをどこまでやるか悩んでいた所なので、そうさせていだだきます!!

kmyk commented 2 years ago

マージしました