0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ABC292回答メモ

Last updated at Posted at 2023-03-05

0.はじめに
 久々のスポンサー的なのがついていないABCでした。
 C問題の解法が分からず飛ばしてD問題に取り掛かったらすんなり解けました。
 ABDを回答した結果レートは±0でした。

1.A - CAPS LOCK
 言語の教科書に載っていそうな問題だなと思いつつ
 大文字に変換する関数をググって回答しAC

 https://atcoder.jp/contests/abc292/submissions/39407992

2.B - Yellow and Red Card
 イベント発生型の問題ではありますが、内容自体は簡単な問題。
 カードをもらった選手番号をキー、もらったカード状態を値にした辞書を作り
 イベント毎に辞書更新・参照をする形で実装しAC。

 https://atcoder.jp/contests/abc292/submissions/39413956

3.C - Four Variables
 コンテスト中は解法がわからず時間切れ。
 その後解説を見て、なるほどと思いつつ、
 解法が分かればプログラム的には簡単かとも思いますが
 なかなか難易度高いなと思いました。
 解法についてもN√N解法まではついていけましたが
 より高度な解法は理解できませんでした・・。

 【考え方】
  ・X+Y=NをみたすX(1~N-1)、Y(N-1~1)をループさせ
それぞれのXとYについて
   Xを成り立たせるABの組み合わせの数xと
   Yを成り立たせるC
Dの組み合わせの数yを求める
   それぞれのXとYの組み合わせの中でxyがそのXとYの
   組み合わせを満たすABCDの組み合わせ数となる。
  ・A
Bの組み合わせ数xの求め方
   例えば、X=12の時
   添え字jを1からカウントアップさせていきjBが成り立つ
   →X%j==0かどうかを判定し、成り立つ場合はxに1を足す
   X=12の時X%j==0が成り立つのは1,2,3,4,6,12
   組み合わせとしては、1-12、2-6、3-4となるため
   N<=J
J(N=12までの場合J=3)までをチェックし
   倍にすればxは求められる。
   N=J*Jを満たすような場合は組み合わせが一つ減るので
   その点は考慮する。

 素直に実装した場合もACとなりましたが、その後ちょっとだけ工夫して
 Xの時のx、Yの時のyを記憶しておけば
 X<Yとなった場合の計算が不要となるため
 辞書にXの時のxとYの時のyを覚えさせておくようにして
 処理時間は半分になりました。

 https://atcoder.jp/contests/abc292/submissions/39454695

4.D - Unicyclic Components
 問題を読んで、ユニオンファインドを使って
 同じ根を持つ頂点数を求め
 辺の部分は、各辺毎に頂点u(vでもいいけど)が
 属する値を求め=辺が属する根とし
 それぞれカウントして同じ根を持つ頂点数=辺数を満たせば
 Yes、満たさなければNoとしたところAC頂けました。

 https://atcoder.jp/contests/abc292/submissions/39432516

 参考サイト:https://procon.fun/code/unionfind-cycle/

以上

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?