プログラミング

IT・プログラミング

ABC410 C – Rotatable Array

この問題はクエリのタイプに従って処理を行う問題です。この問題ではクエリのタイプ3の処理を高速化しないとTLEになってしまいます。初期状態が以下だとします。i01234A12345タイプ3のクエリで「 A の先頭の要素を末尾にする」という操作...
IT・プログラミング

「literally」と「リテラル」は同じ語源?英語とプログラミングをつなぐ”文字通り”の話

最近英語系のインフルエンサーの動画を見ていて「literally」という英単語を耳にしました。どこかで聞いたことあるなと考えていて思い出したのがプログラミングをしていると必ず出てくる「リテラル(literal)」という言葉。実はこの2つ、同...
IT・プログラミング

Rustでベクタ型の配列の重複を排除する方法

競技プログラミングをしていて配列の重複を排除する方法が分からなかったのでまとめます。重複を排除する方法重複を排除するには外部クレートを使うと簡単に記述できます。# Cargo.tomlitertools = "0.12"# Cargo.to...
IT・プログラミング

ABC409 C – Equilateral Triangle

ギリギリになって、累積和で点の座標を求めるところまで思いついたのに、正三角形を求める方法が思いつきませんでした。悔しい、、今回も解説を読んでいきます。問題円周上の点1,2,...,Nが配置されていて、点i+1は点iから時計回りに円周上をdi...
IT・プログラミング

ABC408 C – Not All Covered

全く解法が浮かびませんでした、、、imos法という方法で解くらしいです。解き方imos法では以下のような表を考えると、わかりやすいのかなと思います。入力例1で考えます。imos法の詳細な解説はこちらを確認するのが良さそうです。i123456...
IT・プログラミング

ABC407 C – Security 2

本日はABC407 C - Security 2について見てみようと思います。言語はPythonになります。問題画面に表示される文字列tがあります。tは最初空文字でボタンを押すと以下の変化が起こります。ボタンA:末尾に0追加。ボタンB:tの...
IT・プログラミング

ABC406 C – ~

この日はB問題までしかできませんでした。C問題が全くわからなかったので解説を読んでいくことにします。まず最初にPの大小関係を < と > を使い文字列Sで表します。1 3 6 4 2 5上記であれば<<>><ですね。この時Pがチルダ型である...
IT・プログラミング

ABC406 A – Not Acceptable

問題自体にはACできたのですが、スマートな書き方があるようだったので、その書き方についてまとめます。言語はPythonです。自分がACしたコードは以下です。def i_map(): return map(int, input().split...
IT・プログラミング

ABC405 C問題 – Sum of Product

本番ではTLEになってしまった。例えばN=4の時、A1*A2 + A1*A3 + A1*A4 + A2*A3 + A2*A4 + A3*A4 はA1(A2+A3+A4)+ A2(A3+A4)+A3*(A4) になる。先にAを合計して、都度合...