tookunn’s diary

主に競技プログラミング関係

2021-05-01から1ヶ月間の記事一覧

AtCoder Beginner Contest 174 C - Repsept

問題 atcoder.jp 考察 7, 77, 777, ...の約数を列挙して、Kの約数を列挙して何か規則性があるのかとか探していたが 分からず。 ↓ 数列をAとし、i番目の要素をA[i]とする。 Kの倍数ということは A[i] mod K = 0ということ。 ↓ A[i + 1] = A[i] * 10 + 7なので…

京セラプログラミングコンテスト2021(AtCoder Beginner Contest 200) D - Happy Birthday! 2

ABC

問題 atcoder.jp 考察 数列Aから異なる部分数列B,Cを探してB,Cそれぞれの総和のmod200が同じものを出力する問題。重要な点としては 数列Aから見つかる部分数列は2^N-1通り 部分数列の総和のmod200は200通り 数列Aの長さがある長さ以上になったら、総和のmod2…

AtCoder Beginner Contest 188 D - Snuke Prime

ABC

問題 atcoder.jp 考察 となっていて、区間として範囲が大きいので いもす法という手法を使って、単純に各区間の増減の累積和を取ることができないことが分かる。最初は各区間についてを一組としてまとめて、うまくソートなりなんなりをすれば良さそうと考え…

ZONeエナジー プログラミングコンテスト “HELLO SPACE” C - MAD TEAM

ABC

問題 atcoder.jp 考察 基本方針は 5種類すべての能力がチーム全体として以上にできる3人の組み合わせが存在するかを二分探索で探っていく。3人のチーム全体の各能力は以下の通り、3人の能力の最大値となる。 そして、チームの総合力は以下の通り、チーム全体…

ZONeエナジー プログラミングコンテスト “HELLO SPACE” D - 宇宙人からのメッセージ

ABC

問題 atcoder.jp 考察 重要な点は 文字列反転のコストをどう工夫するか 連続した2文字が同じ文字の場合の削除のコストをどう工夫するか 文字列反転については 文字追加の操作を行いながら、反転しているかどうかの状態を持っておき 反転している場合は文字列…

ZONeエナジー プログラミングコンテスト “HELLO SPACE” B - 友好の印

ABC

問題 atcoder.jp 考察 コンテスト本番では上る高さを二分探索で決めて、UFOからその上った高さの位置までの直線を 一次関数y = ax + bの式に当てはめて、各iについて、x = d[i]の時にh[i]以上かどうかで探索していた。 これだと実装が複雑になるし、バグも出…