Programming Coontest

競プロなど

yukicoder contest 360 感想

はじめに

はじめまして.はちじです. この度の yukicoder contest 360 にて,初めてWriterとして問題を出題したので,その感想を書きたいと思います.

D - Concon Substrings (Swap Version) (★2.5)

  • FA:Rubikunさん(6:45)

今回の作問は,2問とも「concon」の文字列で何かしら問題を作りたい,という思いのもとで作問しました.

元々は今のG問題に相当するようなものを考えていたのですが,後述する理由で考え直し,そのもとでこうしたら面白そうだ,と思いついたのがこのD問題でした.考えてみたら考察ありコーナーケースありという問題ということで,結構出したら引っかかる人が多いのではないかと思って出題してみたのですが,上位陣でもペナを発生させていたようでした.一部の人から面白いとの声があり,個人的にこれは出題して正解だったように思います.

G - Concon Substrings (ConVersion)(★3)

  • FA:ei1333333さん(22:12)

元々はこちらの問題をA=1かつB=2で作っていたのですが,これでは適切に貪欲を回せば簡単に解けてしまう,ということがあり,少し考えてABも入力で与えられるようにすればよいのではないか,と思い,考察したところ, O(N^2)のDPで解けることがわかったので,出題することにしました.

当初は★3.5で提案したのですが,Testerから★3という意見を頂いたので★3で出題しました.コンテスト中の正解者数的にやっぱり★3.5では......?とも思ったのですが,難易度投票でも★3の意見があったため,難易度じたいは★3で合っていたような気もするかもしれません*1

制約についての意見が多かったですが,定数倍が軽いことをあえて利用してやろうと, N \leq 5 \times 10^4 にし,TL 5sec で出題することにしました.PyPy3で間に合うことを事前に確認しており,またコンテスト中にJavaでのACを確認したことから,制約が厳しすぎるということは無かったとは思っていますが,この制約に対する疑問の声も少なからずあったようです.これについては反省し,次の作問に生かそうと思います.

また,この問題,コンテスト中に「二分探索して貪欲」という解法が通ってしまったようで(結果落ちるものではあったようですが),テストケースが弱かったと反省しています.考えうる解法を考えたうえで強いテストケースを作るのは本当に難しいものですね......と,常々思う次第です.

おわりに

yukicoderでの作問は初めてでしたが,とても良い経験が出来たと思います.今後も作問の機会があればやっていきたいと思う次第です.

*1:後半の問題の正解者数が少ないのは,問題数が多かったのも少なからずは影響しているようには思われます