Software

Multicopter

自作ドローンのソフトウェア設計 + ライセンスに関するまとめ

本記事では、フライトコントローラ側と送信機側のソースコードのソフトウェア設計について書いていきます。2021/7時点でこの記事を執筆していて、今後リファクタリング等で最新版のアーキテクチャと異なってしまうかもしれませんが、基本的にはこうな...
Software

AtCoder Beginner Contest 205: D – Kth Excludedの初心者解説(二分探索)

問題 公式問題はコチラ。 問題文 長さ $N$ の正整数列 $A = (A_1, A_2, ..., A_N)$ と $Q$ 個のクエリが与えられる。$i (1 \leq i \leq Q)$ ...
Software

AtCoder Beginner Contest 204: C – Tourの初心者解説(計算量をおさえたDFS)

問題 問題文 1 から N の番号がついた N 個の都市と、1 から M の番号がついた M 個の道路があります。道路 i を通ると都市 Ai から Bi へ移動することができます。都市 Bi から都市 Ai への通行はできま...
Software

AtCoder Beginner Contest 194: E – Mex Minの初心者解説(トリッキーな最小値探索)

計算量を抑えて最小値の探索を行うのがコツで,今回の問題ではこの能力が問われました.E問題レベルになると説明がかなり難しく,自分の日本語力が問われているような気がします… 問題 公式の問題はコチラ. 問題文 $\ma...
Software

AtCoder Beginner Contest 194: D – Journeyの初心者解説(期待値の性質)

期待値関連の問題ですね.期待値の性質で今回はじめて知ったものがあったので紹介します. 問題 公式問題はコチラ. 問題文 $N$ 個の頂点があるグラフあり,高橋くんは今頂点 $1$ にいて現在グラフに線は張られていま...
Software

AtCoder Beginner Contest 194: C – Squared Errorの初心者解説(式変形でTLE回避)

久々に AtCoder の解説記事を書こうと思います.今日 AtCoder の読み方がアットコーダーだと知りました.今までエーティーコーダーだと思ってました. 問題 公式問題はコチラ. 問題文 長さ $N$ の数列...
Software

AtCoder Beginner Contest 186: D – Sum of differenceの初心者解説(TLE回避,累積和)

問題 公式の問題はこちらです. 問題文 $N$ 個の整数 $A_1, ..., A_N$ が与えられます.$1 ≦ i < j ≦ N$ を満たす全ての $i, j$ の組についての $|A_i - A_j|$ の...
Software

AtCoder Beginner Contest 185: E – Sequence Matchingの初心者解説(二次元DP)

この問題は難しかったです.いくつかの解説サイトを見ないと理解できませんでした.やっぱりDP(動的計画法)は難しいですね. 問題 公式の問題はこちらです. 問題文 長さ $N$ の整数列 $A$ と長さ $M$ の整...
Software

AtCoder Beginner Contest 185: D – Stampの初心者解説(ソート・切り上げ・境界条件)

問題 公式の問題はこちらです. 問題文 $N$ 個のマスが並んでいます.左から $i$ 番目のマスをマス $i$ と呼ぶことにします.この $N$ 個のマスのうち、マス $A_1$, マス $A_2$,マス $A_3$,...
Software

AtCoder Beginner Contest 185: C – Duodecim Ferraの初心者解説(オーバーフロー注意)

Duodecimはラテン語で 12 という意味らしいです.Ferraはたぶん鉄のことを表していそうです.鉄の棒を12分割する問題なので,このような名前なのかと思います. この問題はオーバーフローに気をつけないと解けません.オーバーフ...