秘密の本棚

気になることをなんでも書きます

プログラミング

AtCoder Beginner Contest 113

C - ID 問題 C - ID 考察 個にグループ分けされる、順序付きの個の要素があり、グループごとに順番に番号を振って最後に与えられた順に番号を出力する。 愚直に入力をグループ分けしてまずソートして番号を振ったのち、すべての要素を合体して与えられた順に…

ハロウィーンなのでMacの背景をスクリプトから変更する

今日はハロウィーンですね。Bingの背景がこれになってました。以前WindowsやAndroidの背景をBingの画像に設定するアプリを紹介したのですが、Macのアプリは有料でした。 nexusuica.hatenablog.jp 今回はBingの背景画像を取り込んで背景に設定するプログラム…

AtCoder Beginner Contest 112

AtCoder Beginner Contest 112 - AtCoder A - Programming Education 問題 A - Programming Education 考察 の値が1の場合は文字列を出力し、2の場合は計算をする問題。の値に応じて処理するだけ。 コード int main(){ int n; cin >> n; if(n==1){ cout << "…

AtCoder Beginner Contest 110

AtCoder Beginner Contest 110 - AtCoder A - Maximize the Formula 問題 A - Maximize the Formula 考察 与えられた3つの1桁の数字を順不同にとするとき、の最大値を求める。結局に何が入るかを場合分けすれば、取りうる値はたかだか3通りなのですべて調べ…

Touch Barでメールの未読を通知する

Dockを消したい MacOSには下部にはDockという、起動中のアプリケーションを表示しておく場所があります。Dock。通知のバッジも表示される各アプリケーションのアイコンの右上には、通知がある場合にその数が赤い丸で表示されます。一目で通知があるかを確認…

AtCoder Beginner Contest 109

AtCoder Beginner Contest 109 - AtCoder A - ABC333 問題 A - ABC333 考察 整数が与えられるとき、が奇数となるような整数が存在するかを判定する。が偶数であるときをどのように選んでもは偶数になる。一方でが奇数であるときを奇数とすればは奇数になる。…

AtCoder Beginner Contest 108

AtCoder Beginner Contest 108 - AtCoder A - Pair 問題 A - Pair 考察 以上以下の偶数と奇数の選び方の個数を求める。偶数の個数はで、奇数の個数はで求まるので、その積を返す。 コード int main(){ ll k; cin >> k; ll even = k/2; ll odd = (k+1)/2; cou…

AtCoder Beginner Contest 107 - Median of Medians

D - Median of Medians 問題 D - Median of Medians 考察 長さNの数列aが与えられ、すべての部分列a[l,r]の中央値によって新たな数列を作るとき、その数列の中央値を求める。最終的な答えは元の数列aの要素であるので、aをソートしてから二分探索で答えを求…

AtCoder Beginner Contest 106

AtCoder Beginner Contest 106 - AtCoder A - Garden 問題 A - Garden 考察 縦、横の長方形から縦、横の長方形と縦、横の長方形を切り取った残りの面積を求める。これらの長方形は平行移動しても残りの面積が不変であるから、端に寄せれば残りは縦、横の長方…

AtCoder Beginner Contest 105

AtCoder Beginner Contest 105 - AtCoder A - AtCoder Crackers 問題 A - AtCoder Crackers 考察 個のものを人で分けるときの個数の差の最小値。ちょうど割り切れれば0、割り切れなければ1…?(証明せず) コード int main(){ ll n,k; cin >> n >> k; if(n%k…

ダイクストラ法をC++の構造体に実装

ダイクストラ法 有向グラフにおいてあるノードから別のノードへの最短経路を求める手法にダイクストラ法があります。エッジのコストが0以上であるという制約はつくものの、優先度付きキューを用いることで計算量はになります(は辺の数、は頂点の数)。競プ…

競技プログラミングをどうやって始めるか

競技プログラミングをはじめてみた いまや情報系では知らない人はいない競プロをいまさらはじめてみました。AtCoderというサイトでは、(ほぼ)毎週コンテストが行われていて、過去の問題を閲覧できたり、プログラムを提出してジャッジを行ったりしてくれま…