shu8Creamのブログ

競プロブログ。

【AtCoder】入緑しました!!!

こんにちは、shu8Creamです。

先日開催されたARC117にて緑コーダーになりました!!

どんな精進をしてここまで来たのかをできるだけ丁寧に書いていこうと思うので参考になれば幸いです。 茶色になった時にも記事を書いているのでそちらが気になる方は↓から

AtCoderで茶色になった - shu8Creamのブログ

目次

自己紹介

twitter.com

緑の位置確認

僕のAtCoderでの順位は13726位です。現在のアクティブユーザの最下位は76402位なので超単純計算で上位約18%。 アクティブユーザかつコンテスト参加回数10回以上の場合、最下位は64668位で計算すると上位約21%です。 緑よりも上になると更にグッと人数が減っていく感じですね。数字だけ見ると結構上の方っぽい感じがしますね。(Twitter上だと強い人しか見ないんだけどな〜)ちゃんとした数字を取ってきてないのであれですけど、数年前のchokudaiさんの記事だと緑は上位30%って見かけたのでここら辺も変わってきているみたいですね。ちゃんとした割合は誰かが出しているはずなのでそこを見てください。

勉強したこと

競プロの取り組み方

まずは、AtCoder Problemsの記録です。色変直後に魚拓取りました。

言語は基本C++多倍長整数が使いたくなった時にPython使ったりします。

茶色になった時は、AC数が287だったので500問以上増えてますね〜。こんなに解いていたのは自分でも驚きです。 特に緑diffの問題はガッツリ解きました。最近のコンテスト内ACも茶diff上位〜緑diffのAC率が上がってきています。 (なぜか茶diff下位がここ最近通せてません...)

僕の普段の精進の仕方としては、自分のレートよりちょい上ぐらいのをメインに解こうと頑張っていて考察時間かかって辛いよーってなったらちょっと簡単な問題を解いて僕天才!ってなるのを繰り返してます。あと、昔のABCだと平気で水色とか稀に青でも普通に通せたりするので僕天才!ってなりたい方にはおすすめです。ただし、むずくて心が折られることもあります笑

茶埋めとかをする人も多いみたいですけど、AGCとかの茶色はめっちゃむずいと思っていて全然解けないことが多いのであまり手をつけていません。まずは基本のABC、余裕があるならARCを、という優先順位で進めるのが良いと思います。ただ強くなるために、今後の僕の課題だとも思ってます。

Qiitaの精選100問は半分以上やった気がします。僕が特にやってよかったなーと思ったのは、実装が重い系の問題でBFS・DFSあたりは実装が大変でしたが、やってよかったし解いた後の達成感があるのでおすすめです。プログラミングをやってる感がすごくあります。数学嫌いーとかプログラミングしてる感が欲しいとかならやるべきです!!残りの問題もやらなきゃいけないとは思っていますが、DP...。がんばります。

アルゴリズム

次にアルゴリズムについてです。勉強したものと実際にコンテストで使ったかどうかでまとめてみました。 僕個人的に今のレートから2色以上、上のパフォーマンスを出さなきゃその先の伸びが苦しくなると思っていたので、 難しいものも勉強しています。実際初めて水パフォが出た次の次の回で色変しました。緑になるだけだったら重要度が低いと思います。

アルゴリズム 重要度 使った? 僕の気持ち
約数列挙 ライブラリで持ってる便利
素因数分解 × 知らないと無理系のやつ勉強あるのみ
累積和 なんか知らんけど結構使う気がする
いもす法 単純ないもす法は茶diffだった
modpow スニペットですぐ呼び出せるようにしてる
mod int (mint) ACLの使い方は知っときましょう
二項係数 nCkです、mod取るやつとかシンプルなやつとか何種類か書けると安心
拡張ユークリッドの互除法 数学得意なら勉強すべき、苦手なら後回しでOK
bit全探索 実装がなぜそうなるかまで理解しよう
順列全探索 あんまこれ使う問題は出てない気がする
二分探索 応用範囲広すぎてこれもにぶたんなのかー ってなる
しゃくとり法 二分探索でもできたり、最近使ってないから忘れてる
Union-Find マージテクは緑までなら必須じゃないかも
DFS 緑までの実装問題は大部分がこれな気がする
BFS 木とグリッドどちらもできるように(DFSも同じ)
ダイクストラ ライブラリで持ってる
ワーシャルフロイド × これ使う問題は少ないけど知らないと終わる
DP × DP苦手すぎて何も言えることがない
桁DP × これは青ぐらいのレベル
TSP(巡回セールスマン問題) × bitDPです。これもやるだけなら緑レベルです
半分全列挙 × やるだけなら水色みたい
行列基本演算 そんな使わないけどライブラリ作りました
座標圧縮 なんかと組み合わせて座圧する問題多い
BIT(Fenwick tree) × 転倒数と組み合わせて覚える
セグメント木 × ACL使うだけなら緑でも必須っぽい
Zアルゴリズム × なんか勉強したくて勉強したけど使う機会はしばらくなさそう
LCA × これも勉強したかっただけ
ダブリング × 理解はしてるけど実装ができる気がしない
LIS × DP苦手ーーーー

アルゴリズムというか有名問題も混ざってますが気にせずどうぞ。やるだけなら緑レベルという問題多すぎます。 全部手をつけるには時間がかかるので優先度を決めて取り組むと良いと思います。 ACLが登場してからデータ構造を使うだけの問題のdiffが激下りしてるので自前実装はできなくてもデータ構造の概要は知っとくと得します。 (UnionFind, セグ木 etc...) あとACLの中だとmintは使えるようにするのは必須です。逆元周りの話を理解するのは後回しでもいいかもしれませんが、何が行われているかぐらいは知っておくと良いと思います。 ここにあげたものの中で重要度の低いものは知らなくていいというわけではなくて、こういうものがあるんだというのを押さえておくと 出題された時にコンテスト中に調べて解くことができるかもしれません。とりあえず知っておくというのも意外と重要です。 実際いもす法はコンテスト中に勉強してACしました。

読んだ本

いわゆるけんちょん本です。初心者には超おすすめの本です。まだ読みきれていない部分もあるのでこれから履修します。

群論の話などが載っています。勉強の入りとして読むのにとてもいいと思います。ただ好きだからここに書きました。

これは全然読みきれてないです。ちゃんと読み込むというよりも参照する方が多いのでそれを見るためとかわからないことがあれば、辞書を引く感じで利用しています。今後もお世話になります。これにプラスして蟻本に沿った問題を集めているQiitaの記事の問題も解くとよりいいと思います。

伸び悩んだ時に

コンテストに30回以上も参加していると当然レートが下がったり、今まで解けたはずの解けなきゃいけない問題が解けないこともあります。そんな時心が折れてしまったり、辛い気持ちになることもあると思います。色々な人が言っていることですが、一回のコンテストで一喜一憂しすぎないことです。あとはめっちゃ伸びている近いレートの人のことを気にしすぎない。人に興味ないでしょってよく言われる僕が書いても全く説得力がないんですけど、楽しく続ける上で重要です。あと、毎回コンテストに出ることが義務感になっているのならやめたほうがいいです。忙しくて精進できてない時もあるだろうし、体調が良くない時もフラれてメンタルがボロボロの時もあるでしょう。そんな時は潔く参加をやめる。あと、友達との予定を優先させるのも大事ですよー。

あとは、自分の間違えやすい問題(苦手分野)、ミスしやすい忘れがちな事項はどこかにメモっておいてコンテスト中詰まったら見返せるようにしておく、コンテスト後には解けた問題も復習して違う実装方法があれば調べて解いてみる。コンテスト中に考えて解けなかった問題はしっかりupsolveする。(これは解けなかった問題の難易度にもよります)などなど、僕がやっていた方法です。

まとめ

なんか周りにはめっちゃ頑張っている人が多いですが、僕はマイペースに楽しんで続けていきたいと思っています。途中で別のところに興味がいくことも多いですが、フラフラしながら続ける予定です。精進の様子をみて頑張ってるだろと思う方もいるかもしれませんが、好きで気づいたらやってるだけです。もっと精進しろ!と思う方はお手柔らかにお願いします。今までの期間ほとんど卒論書きながらやってたので、これからはもっと競プロを楽しんでマイペースにやっていきます。

とりあえず今年の年始に設定した目標だった緑コーダーは(2週間遅れではありますが)達成できました。今後は、今年中に水コーダーを目標に頑張っていきます。あと、CodeForcesも本格的に始めたいですね。

ABC197に参加しました

ABC197に参加しましたので、復習のために解説を書いていこうと思います。今回は、初めて水パフォを達成しました。 自分の得意な問題セットだったのが大きいですね。Cはここ最近のABC、ARCで気づけずに苦しめられたbit全探索で復習が生きた感じがします。E問題が本番中に通せませんでしたが、冷静に考察すれば気づけるレベルだったので反省点です。 では、早速解説へ!

A - Rotate

問題概要

タイトルの通り文字列をrotateする。先頭文字を末尾へrotate

制約

文字列は3文字

解法

一番何も考えなくていいのは、s[1], s[2], s[0]の順に出力するだけ。 C++を使っている方はrotate関数があります。(他言語は各自お調べください)

rotate(先頭, 先頭に持ってきたい要素のイテレータ, 後ろ)で書けます。 つまり、

rotate(s.begin(), s.begin()+1, s.end())

こう書けます。僕もrotateの存在を知ったのは結構遅かったので知っておくと良いかもしれません。 stringだけでなく、vectorなどでも使えます。

B - Visibility

問題概要

 H*Wのグリッドマスで位置 (X,Y)から見えるのは何マス?

制約

 H, W \leq 100

解法

今いる位置 (X,Y)から上下左右を壁にぶつかるか、障害物#にぶつかるまで数える。 制約が緩いので各方向にfor文を回せば終了です。

この問題自体は簡単ですが、似たようなシチュエーションで難しい問題がたくさん出題されています。 この機会に復習、解いたことのない人はチャレンジしましょう。(diffは緑以上、難易度順です)

atcoder.jp

atcoder.jp

atcoder.jp

C - ORXOR

問題概要

長さ Nの数列 Aをいくつかの区間にわけ、区間内でORを取り、ORを取った区間値をXORを取る。 上手く分けてできるだけ最終値を小さくする。

制約

 1 \leq N \leq 20

解法

制約から見て数列の間に仕切りを入れるか入れないかをbitで管理できそうというのが思いつきます。 bit列の長さは、植木算的に考えて19です。 2^{19}が全探索できるか不安な方はpythonとかをサッと立ち上げて計算すると十分間に合うことがわかります。全探索中に数列を一回舐めるので計算量は O(2^{N-1}N)。 意外と実装でミスるところが多かったのかもしれません。(僕はintにしてWAをもらいました...)

ll ans = 5e18;
rep(s,1<<(n-1)){
    vector<ll> tmp;
    ll c = a[0];
    rep(i,n-1){
        if(s>>i&1){
            tmp.push_back(c);
            c = a[i+1];
        }else{
            c|=a[i+1];
        }
    }
    tmp.push_back(c); // これ忘れがち
    ll res = 0;
    rep(i,tmp.size()){
        res^=tmp[i];
    }
    ans=min(ans,res);
}
cout << ans << endl;

これが緑diffは意外でした。最近bit全探索の問題多いので気づいた人も多いと思うのですが。 bit演算(OR演算、XOR演算など)を初めて知った方はいい機会なので勉強しましょう。 わかりやすい記事です。僕もお世話になっています。

ビット演算 (bit 演算) の使い方を総特集! 〜 マスクビットから bit DP まで 〜 - Qiita

D - Opposite

問題概要

正N角形の頂点 (x_0, y_0), (x_{N/2}, y_{N/2})(順番は反時計回り)が与えられるので (x_1, y_1)の値を求める。

制約

 Nは偶数 入力値は全て整数

解法

ABCでは珍しい幾何の問題ですね。 頂点 (x_0, y_0), (x_{N/2}, y_{N/2})が与えられている時点でめちゃめちゃ正多角形の中心を求めたくなります。ここら辺はわからない時は図を書くことが大切です。中心から (x_0, y_0)を回転すれば (x_1, y_1)が求まります。回転角は \theta = 2\pi/Nです。 回転の仕方は色々ありますが、ここら辺は完全に数学の知識なので数学苦手な人はきつかったのかもしれません。

回転1

行列の知識があれば回転行列で操作できます。

 \begin{pmatrix} x_1 \\ y_1 \end{pmatrix} =
\begin{pmatrix} cos\theta & -sin\theta \\ sin\theta & cos\theta \end{pmatrix} 
\begin{pmatrix} x_0 \\ y_0 \end{pmatrix}  

こういう式になるのですが、注意点としてこの式多角形の中心点が原点と一致する時にしか使えません。 じゃあどうすんだよってなるかもしれませんが、一回中心点を原点に平行移動して回転させた後に元の位置に戻せばいいです。 以下の図の通りです。

 x_0 = x_0 - x_m, y_0 = y_0 - y_mと事前にしておき( x_m, y_mは多角形の中心点) 行列を全部展開すると  x_1 = x_0 cos\theta - y_0 sin\theta, y_1 = x_0 sin\theta + y_0 cos\theta これを最後元に位置に戻すために  x_1 = x_1 + x_m, y_1 = y_1 + y_mとすればおしまいです。

回転2 複素数平面に多角形が載っていると考えます。複素数平面上だと回転を考えるのが楽だったり便利なことが色々あります。 ただ複素数平面自体が数IIIの範囲なのでガチガチの理系じゃないと履修してないかもしれません。(昔は複素平面と呼んでいたそう) 文系プログラマの方も多いと思うので知らない方は勉強するのも良いかもしれません。コードに落とし込むのはこちらの方が楽な気がします。 pythonの記法ができると断然こっちが楽ですね

こちらの解説は気が向けば追加します。

感想

今回の問題セットは得意不得意が人によってはっきり出てしまう回だったみたいです。不得意部分がはっきり見えた方は今後対策しやすいかもしれません。個人的には爆速35分で4完できて満足です。関係ないですが、段々とはてなブログtex記法もコツを掴んできました。 また、解説を書くのでよろしくお願いします。

ABC196に参加しました

ABCで絶賛伸び悩み中なので、しっかり復習をしようという目的で解説を書いていきます。今回のABC196からだんだん遡る感じになりそうです。ブログ書きながら、新たなABCにも参加するのでブログが投稿される日時とナンバリングがぐちゃぐちゃになりそうですが、ご了承ください。灰diff下位の、よく解法ツイートで「はい」とか「やるだけ」みたいなのは端折る可能性があります。

あと、基本的にC++で書いてます。

A - Difference Max

b-cするだけ  

B - Round Down

stringで入力受け取り、頭から見ていって小数点が来たらそれ以下は捨てる

C - Doubled

問題概要

 1から整数 N以下で条件を満たすものの個数を数える。 条件:偶数桁かつ文字列で見た時、前半後半が一致している

制約

 1 \leq N \lt 10^{12}

解法

1. 本番で通した解法

個数が増えるのは、偶数桁の時だけなので奇数桁の時はそれ以下の偶数桁の条件を満たすものの個数全てである。

例えば、奇数桁の N=100の時、条件を満たすのは11,22,33,...,99の9個、

 N=10000の時、1010,1111,1212,...,2020,2121,...,9090,9191,...9898,9999の90個、プラス上記の N=100の時の9個で合計99個

のような感じで奇数桁であれば、桁数/2個、9が並ぶ数になる。

考えなければいけないのは偶数桁の時、上記の9が並ぶ数プラスどれだけあるのかを考える。

例えば、 N = 123456の時

こんな感じで数えます。また、前半部の方が大きい場合は、ちょっとだけ変わって N = 654321の時

こんな感じで数えられます。 ソースコードは以下へ。本番中のコードなので読みづらいかも

atcoder.jp

 これの計算量は Nの桁をdigとすると[tex: O(dig2)](これ間違ってるかも、指摘下さい)

2. 別解(全探索)

冷静に考えるとこんな複雑なことしなくていいですよね!

半分つまり[tex: N = 106]までなら全探索できるので、[tex: 106]まで一つ一つ N以下の数になるか確かめていけばいいです。本番でさっさとこれができれば…泣

ソースコードはこんな感じ

ll n;
cin >> n;
string s = to_string(n);
int dig = s.size();
ll num1 = n / (ll)pow(10,dig/2);
int ans = 0;
for(int i=1; i<=num1; i++){
    string t = to_string(i);
    t+=to_string(i); 
    if(stoll(t) <= n) ans++; 
}
cout << ans << endl;

 実装がめちゃめちゃ楽でした。計算量は O(\sqrt{N})

反省

考察し終わるまではスピーディでしたが,実装で大ポカをしました。これぐらいの実装はバグらせてもちゃちゃっと直せないといけないと思いました。目指せ緑!!

今回はここまででD, Eは改めて書こうと思います。

マラソン初心者のAHC001参加記

つい先日終了したAHC001に参加しましたので、参加記を書きます。AtCoderで初めてレーティング対象のヒューリスティック型のコンテストでした。最終順位は881位764,972,517,923点でした。(暫定順位は869位39,273,784,564点)山登り法や焼き鈍しはできていないので、伸び代はあると信じています。いろいろがんばった記録です。

他のつよつよ競プロerの方の記事がちょっと辛いよ、ムズイよって方向けに参考になれば幸いです。

 

問題

大きい広告スペースにたくさん企業から広告掲示依頼が来るので位置 x, yや大きさ rの要求をできるだけ叶えてあげるような掲示方法を探します。

 

atcoder.jp

 

思考過程 

点数が低い方から解法を挙げていきます。 

1. 一番簡単解法

823,090点

 
 コメント

とりあえず点数が欲しい、早めに順位表に乗りたい大体の人が通していた方法。

来た広告依頼に対して、 1*1の正方形の広告を出す方法。制約上、広告が被ることはないので一番簡単に思いつく方法ですね。めっちゃちっちゃい広告を出してあげます。これは企業からクレームが来そうですね。

 

2. 縦細長広告

27,266,837,345点

広告版を縦に区切って、その区間に細長広告を出す方法。広告依頼を xの値でソートし、順番に横幅を決めていく。

注意点

 xの値が同じ場合は 1*1の正方形の広告にする。(これはよくないけど、とりあえず提出するため)

3. 縦横細長広告

28,147,006,780点

基本の考え方は2と同じだけど、横にも同じことをして縦と比較して点数の稼げる方を採用。ここでコスト関数(スコア計算用の関数)を実装。
ラソンコンテストはコスト関数の実装絶対いるのはわかってるけど、最初はやる気が起きないです笑
長いのでとりあえず低めの点数取ってアップが終わってから実装したいお気持ち。

 

4. 縦横細長広告 改良ver

28,346,239,854点

3の解法の x yの同じ値が来るときの広告の形を 1*1から長方形の短冊状に変更。微増ですね。

 

5. 縦横細長広告 広告のサイズ最適化

39,273,784,564点

ここで大幅に点数が上がります。スコア関数を作って一つ一つの広告の満足度を見ていたところ依頼サイズの小さい広告であれば、広告のサイズを小さくしていくことで満足度が上がることに気づきました。(遅い!!)面積に応じて広告の長さを変化させます。小さいサイズの広告であれば満足度100%に簡単にできます。が、しかし、この細長形状でやっているせいで、面積を小さくする方にしか最適化できません。

見た目はこんな感じ

f:id:shu8Cream:20210316000108p:plain

解法5の様子

 ここまでで終了でした。もうちょっとうまくやれば400億点台にも乗せれそうでしたが、その後の伸びがイマイチそうです。

簡単な工夫でここまではなんとかなります。おそらく誰でも到達できるのでは?

解法5のソースコードです。REしてるのがいくつかあってこれが最終順位がちょっと落ちた原因ですね

atcoder.jp

 

最後に

つよつよな方々が素晴らしい参加記を書いているので恐縮ですが、弱いなりに色々まとめてみました。つよつよな方々はエンジニアとしても素晴らしく、TypeScriptとかで自作ビジュアライザを作っている方もいらして、マラソンの世界の深淵を覗き込んでしまった気分です。山登りや焼き鈍しはAHC002までになんとかがんばって勉強したいと思います。

アイコン描いてもらいました

こんにちは、shuです。

大学の後輩に依頼をしてアイコンを描いていただいたので紹介したいと思います。

描いてくれたのは、ちくわゐさんです。Twitterはこちら

twitter.com

 

で、今回描いてくれたアイコンがこちらです!!

f:id:shu8Cream:20210117150751j:plain

新アイコン

すごくいい感じに仕上げてくれました。(語彙力)めちゃめちゃ気に入ってます! 

僕のTwitterとか色んなアイコンがこれになっていくので見慣れていって下さい。

ちくわゐさんは、MVとか作ってたりするので観にいきましょう!あと、依頼もできたりするのかな?もし気になった方は、相談してみて下さい。

 

 

【2021年】新年の目標

あけましておめでとうございます!

2021年が始まって数日が経ってしまいましたが,今年の目標を記しておこうと思います.一年後に振り返りやすい場所に書いておこうと思いました.

 

目標

競プロ

  • 年度内に緑コーダー【達成:4/18】
  • 年内に水色コーダー

その他

  • ポートフォリオサイト作り
  • 曲作り
  • 動画作り
  • TOEIC600 over
  • 基本情報【達成:4/27】

今年はいろいろ国内旅行したいですね〜

今年も気楽にゆるゆるといきましょう

 

自分へ

ちょいちょい確認しに来てると思うけど,達成できているかはあんま重要じゃないので途中までやったのか,どこまで進んだか目標の修正に使ってください.これで辛くなるならやめてもいいのでw

 

最近の精進と反省会とおすすめ

色変記事を書いてひと月ぐらい経ったので、最近の勉強についてまとめたいと思います。プラスで、最近停滞気味なので今の気持ちと反省を残しておきます。最後には、近況として好きなことを書いてます。

 

 

最近の精進

ここ最近は、相変わらず茶色、緑の問題を地道に解いています。加えて、レッドコーダーが教えるシリーズ中級編のQiita記事の精選100問も解き進めています。難しい問題は、後回しにしてできるだけ解説読まずに時間かけてでもACしようと頑張ってます。

qiita.com

新たに勉強しているアルゴリズムとしては、DFS・BFS・ダイクストラ法です。ここら辺を中心に木の持ち方だったり、実装の仕方を学んでいます。応用が効くようになるまでにはまだまだ時間がかかりそうです。

DPの勉強も進めたいと思っていて、実際に問題を眺めて解説も見ながら取り組んではいるのですが、いまいち自分の中でしっくり来ていない部分が多く、コンテストには頻出で重要項目なのは承知の上でじっくり時間を掛けながら進めています。

最近のABCでは、自分にとって非常に教育的でいい問題が多くコンテスト中に調べて勉強して通すことやコンテスト後に復習することも多いです。特にABC183, 184はいもす法やマージテク、マンハッタン距離・チェビシェフ距離、確率DP、半分全列挙など勉強するいい題材をもらってる感じで非常に楽しいです。

 いもす法

これはABC中にサイト検索したら、例題と問題がほぼ一緒だったのですぐACできました。応用や使える問題の例も下のサイトで紹介されているのでみんなで練習しましょう。

imoz.jp

マンハッタン距離・チェビシェフ距離

先日出題されたSuper Ryumaは、茶diffでもなかなか難しい問題でしたが、自分としては解けないとダメだったなと感じています。その理由がこの問題。

atcoder.jp

解いたときに分からなくて、解説読んでACしたんですが、結果的に身についてませんでした。問題を見てマンハッタン距離しか出てきてなくね?と思ったあなたチェビシェフ距離との関係も調べましょう。必ずしも使わなきゃ解けない問題ではないですが、その発想を覚えておくことも大事だと思ってます。

確率DP

これを参考にしてます。ネットで拾った北大の競プロerの方のプレゼン資料?です。

https://compro.tsutaj.com//archive/180220_probability_dp.pdf

 

こんな感じで勉強に活用しているものをまとめてみました。

後もう一つ進めていることがライブラリの整理です。ある程度分量のある実装が必要なアルゴリズムや頻繁に使うようなものを参照しやすいようにGithubを使ってまとめています。けんちょんさんのライブラリを参考にしながら、徐々に充実させようと思っています。現状では、約数列挙やDFS・BFS、二分探索、UnionFindなどを整理しました。素数判定や素因数分解なども近いうちに整理したいですね。

反省

ここは個人的な反省です。

最近停滞気味なんで反省を書き記しておきます。ここ2週間は、いらない勘違いをして解法があっているのにACまで結び付けられないという事態が発生しています。一つ目は、long long型で 10^{18}を受け取れないと勘違いしたせいで合っていた解法を変えてしまう、もう一つは、問題文をよく読んでいなくて、余計な制約を付け加えて考えていたせいで場合分けを一つし損なってしまう、というものでした。型の受け取れる最大値はlong long以外のものも一度しっかり確認しました。そして自分がしたミスをHackMDのメモにまとめてコンテスト中詰まったり悩んだら見ることにしました。そしてそして、詰まったときには1文字1文字問題文を読み返すのもコンテスト中冷静さを取り戻すために必要なことだと感じています。

最近のミスは、しょうもなすぎて心にきていますが、精進ができていないわけではなく確実に難易度の高い問題も徐々にですが解けるようになってきている感覚はあるので次のコンテストにつながるようにしていきたいですね。

後、使っているメモツールも悩んでいるところです。github, HackMD, Scrapboxを復習や知識整理に利用しているのですが、だんだん煩雑になってきたのでそこの整理もしなきゃなと思っています。皆さんはどんなツールを使っているんでしょうか?数式(Tex)とソースコードがまとめられてどの端末からもアクセスできるツールって限られている感じもするんですが。。。

近況

ここからは、競プロ関係ないです。

最近ハマってるYouTubeが「週末養蜂ちゃんねる」です。

www.youtube.com

ニホンミツバチの養蜂をしている方の動画で、蜂の巣の構造きれいだな〜とか思って見てます。蜂たちがせっせと蜜を集めている様子やはちみつを取っている様子がなんでか見てしまいます。将来ニホンミツバチの養蜂するのもいいな〜なんて。(勘違いされても困るので、私は基本的に虫は嫌いですw)

 

もう一つ、最近ハマってるバンド。昔から知っていたバンドではあるんですが、最近また聴くようになって「F1RST TAKE」で公開されているバンド演奏は結構な頻度で見てます。聴いたことない人におすすめな曲は、「Mela!」、「Shout Baby」、「sabotage」。ポップで聴きやすいと思います!ボーカルの歌うますぎぃ!!

ライブとCD音源で演奏を変えているようなので、比較すると楽しんで聴けます。

www.youtube.com