ももはらの日記

日記を書きます

AtCoderで黄色になりました

はじめに

 こんにちは。ももはらです。
 ついに黄色になりました!!!!

 1983になって黄色リーチになってからだいぶ長かったですが黄色に無事なれてよかったです。
 青になってから思い出深かったことを書いていこうと思います。
 役には立たないですが、暇だったら読んでください。

思い出深い問題

 青になってから最初、なぜか緑diffに苦戦していたので緑diffが多いですが、苦戦した問題を紹介していきます.

パナソニックプログラミングコンテスト2020 D-String Equivalence

atcoder.jp

 まずは、忘れもしないこの問題、、、「やりたいことはわかるが実装できない!!!!」となり、コンテスト時間も迫ってきたので、「気合の10重ループや!!!!」をかきました。

void solve() {
	ll n;
	cin >> n;
 
	ll i0 = 0;
	string s(n,'a');
 
	if (n == 1) {
		cout << s << en;
		return;
	}
 
	REP(i2, 2) {
		s[1] = 'a' + i2;
		if (n == 2) {
			cout << s << en;
			continue;
		}
 
		REP(i3, i2+2) {
			s[2] = 'a' + i3;
			if (n == 3) {
				cout << s << en;
				continue;
			}
			REP(i4, max({ i2,i3 }) + 2) {
				s[3] = 'a' + i4;
				if (n == 4) {
					cout << s << en;
					continue;
				}
				REP(i5, max({ i2,i3,i4 }) + 2) {
					s[4] = 'a' + i5;
					if (n == 5) {
						cout << s << en;
						continue;
					}
					REP(i6, max({ i2,i3,i4,i5 })+2) {
						s[5] = 'a' + i6;
						if (n == 6) {
							cout << s << en;
							continue;
						}
						REP(i7, max({ i2,i3,i4,i5,i6 })+2) {
							
							s[6] = 'a' + i7;
							if (n == 7) {
								cout << s << en;
								continue;
							}
 
							REP(i8, max({ i2,i3,i4,i5,i6,i7 }) + 2) {
								s[7] = 'a' + i8;
								if (n == 8) {
									cout << s << en;
									continue;
								}
								REP(i9, max({ i2,i3,i4,i5,i6,i7,i8 }) + 2) {
									s[8] = 'a' + i9;
 
									if (n == 9) {
										cout << s << en;
										continue;
									}
									REP(i10, max({ i2,i3,i4,i5,i6,i7,i8,i9 }) + 2) {
										s[9] = 'a' + i10;
										if (n == 10) {
											cout << s << en;
											continue;
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

atcoder.jp

 どうしてこんなことに。。。
 てか今数えたら9重ループでした。
 一文字目は流石に賢く処理しててちょっと安心しました(え?)
 ちなみにこの回で入水したんですが、再帰がかけない青コーダーはやばいのでおちて良かったと思います。

ABC161 D-Lunlun Number

atcoder.jp

 前回で何も学んでなかったしupsolveもしてなかったので当然再帰がかけずとけませんでした!
 ルンルンナンバーでまったくルンルンできなかった!!!

 ちなみにこの回はLunlun Numberを切り捨てることで冷えを回避しています。

 流石にこのあと緑diff対策の精進ちょっとしてました。。。

ARC109D-く

atcoder.jp

 この問題もかなり苦い思い出です。
 コンテスト終了18秒後にACしました。

 この問題をきっかけに速度が圧倒的に足りないと感じてえでゅふぉバチャをたくさん走るようになりました。
 後、チョコ食べてた時間なかったら通ってたなーってなったので、コンテスト中にチョコを食べる量を減らしました。ダイエットにも貢献してるかもしれません...

チーム練

harahara

 青になってからちょっとした頃(4月?)に、stoqくんとhanyuくんをお誘いして、ICPC向けにチームharaharaを組むことに成功しました!
 当時は水青青だったのが今は青黄黄ですね。
 チームメイト二人はhighestを1900にのっけている中、1800で停滞してた時期もあったので、追いつけて嬉しいです。
 わりと停滞してた時期は研にも競プロにも苦しんでたんですが、ICPCに出るのだからこんなところで競プロ引退しちゃダメだよなって気持ちで頑張れました。
 や、まじでチーム組んでなかったら引退してたな。ありがとう。。。

 ICPCのセット、いつもとは違うグラフの問題(最大独立集合とかの指数アルゴリズム系?を使う問題)とかも多くて、面白いです。
 構文解析担当になったのもあって、苦手な再帰系の実装もかなり上手くなった気がします。国内予選Dとか構文解析パート以外も楽しくてすきすきです。
 あとはチームメイトに恵まれたおかげで、苦手分野は全部投げて自分の好きな問題を好き放題解いて良いので、チーム練バチャはかなり好きです。
 
 模擬国内とかの参加記です。
はてな

合宿コン

 HUPCとかACPCとか、オンラインチーム戦してとても楽しかったです。
 普段組まない人と組むの楽しいし、1週間で死ぬほど問題解けたのがすごい競プロ週間って感じで満喫できて最高でした。
 ACPC day2でharaharaで9位とれたのかなりうれしかったです。

詳しい参加記です。
はてな

精進内容

 書き忘れてたので書き足します。
 典型知識がとにかくない。実装がやばい!って感じだったので、解説ACもありで埋めてました

  • ABCのC-F埋め

 ABCはとにかく典型問題が多いので埋めとくべきときいたので解説ACもありでがんばりました
 埋まりきってないです。

  • ARC青diff埋め、黄diff埋め

 これ割と楽しいです。昔の問題は今だと典型も多いのでかなり勉強になります。埋まりきってないです。

  • EDPC埋め、TDPC埋め

 これかなりDPの典型を知るのにいいと思います。
 TDPCのT放置してます。

  • えでゅふぉ埋め

 40以降からいいかんじらしいので40からうめてて今45おわりました。
 Contest Maniaとかのサイト使うとかなり捗ります。

  • 蟻本の類題記事

 今中級をやってます。反転?あたりまでやりました。
qiita.com

 飽き性なので、何かに飽きたら別の埋めにうつったり、くじかつに出てみたり、えすえふさんのバチャに出てみたりとかしていました。鬼精進!みたいなのはむいてなくて、精進したい気分の時にいろいろ手出してみる感じでやっています。

まとめ

 黄色になれてめちゃくちゃ嬉しいです。
 黄色維持できるよう頑張りたいです!
 ここまで読んでいただきありがとうございました。