AtCoder Beginner Contest 156 に参加した記録

AtCoder Beginner Contest 156 に参加した記録 AtCoder Beginner Contest 156 – AtCoder ABC156 に参加しました。 結果はABCDの4問ACでした。今回はやらかしていません。無事Dまで解けました。全体的に数学チックな問題が多かった印象です。 E問題は30-50分くらいこねくり回しましたが。難しかったです。 パフォーマン […]

AtCoder Beginner Contest 155 に参加してやらかした記録(C#の文字列比較は注意)

AtCoder Beginner Contest 155 に参加した記録 AtCoder Beginner Contest 155 – AtCoder ABC155 に参加しました。 結果はABCの3問ACでした。D問題が難しくて太刀打ちできなかったのはまあ実力不足かなと思いましたが、C問題でやらかしました。 結果ACまでに何度も提出を重ね、結果順位4000位以上でパフォーマンスも灰色 […]

Chrome拡張機能でWebサーバーを簡単に起動する方法

ローカルWebサーバーをお手軽に用意したい ローカル環境で開発しているWebファイル(html)やJavaScriptの動作を確認するときに、file:///C:/... みたいな感じで直接ローカルリソースを開くと同一生成元ポリシーに違反してうまく動作が確認できない場合があります。 同一オリジンポリシー – ウェブセキュリティ | MDN そのほかにも、そもそも file scheme […]

AtCoder Beginner Contest 154 に参加した記録

AtCoder Beginner Contest 154 に参加した記録 AtCoder Beginner Contest 154 – AtCoder ABC154 に参加しました。 結果はABCDEの5問ACでした。前回と同じく、全体的に優しい難易度のコンテストという印象を持ちました。累積和(もしくは尺取り法)、桁DPの典型問題がありました。 E問題が桁DPで解く問題だったのですが、 […]

[C#] ベルマンフォード法で単一始点最短経路問題を解くための実装方法

ベルマンフォード法とは ベルマン–フォード法 – Wikipedia ベルマンフォード法はダイクストラ法と同じく、単一始点の最短経路問題を解くためのアルゴリズムの一種です。開始点からすべての点への最短経路を求めることができます。 ダイクストラ法との違いは以下の2点です。 計算量はダイクストラ法よりもベルマンフォード法のほうが大きい。 ベルマンフォード法は負の重みを扱える。 ベルマンフォ […]

Electron IPC通信を行う方法まとめ

IPCとは Electronは、アプリケーション本体を管理している メインプロセス と、画面(html)を表示している レンダラプロセス の2種類のプロセスから構成されます。 基本的に、レンダラプロセスはブラウザなので通常の Javascript が使え、メインプロセスでは Node.js が使えます。したがってユーザーの操作をUIで受け取り、OSネイティブの機能を利用しようとすると、プロセス間で […]

AtCoder Beginner Contest 153 に参加した記録

AtCoder Beginner Contest 153 に参加した記録 AtCoder Beginner Contest 153 – AtCoder ABC153 に参加しました。 結果はABCDEの5問ACでした。全体的に優しい難易度のコンテストという印象を持ちました。再帰関数やDPの典型問題もありましたしね。 EのDPをACするのに少しだけ時間がかかりましたが、それなりにすんなり […]

C#

[C#] セグメント木を実装してみる

セグメント木とは セグメント木は名前の通り区間を扱うのが得意なデータ構造です。中身は完全二分木であり、区間の持つデータを管理します。 要素8件からなる配列のデータについて、セグメント木は具体的には以下のような形になります。 各ノードの中の数字は配列の区間データを格納します。 上記のような二分木のデータ構造を使うと、区間に関するクエリ(データの更新、取得)を計算量 O(log N)行えます。 なにが […]

1 36