情報系院生の活動日誌

いまはもう社会人

ABC149 E - Handshake:「~は累積和を用いることで O(1) で求まるので」ではわからない人のための累積和解説

atcoderの解説は往々にしてストロングスタイルなところが好きです。 atcoder.jp 本番さっぱりとけなかったので、後日解説を読みました。 まず、増える幸福度が、ある定数 X 以上になる握手の方法が何通りあるか、を求めることを考えます。 左手で握手する人…

ABC 128 C - Switches: bit演算を用いて解く

問題文 on と off の状態を持つ N 個の スイッチと、 M 個の電球があります。スイッチには 1 から N の、電球には 1 から M の番号がついています。 電球 i は k i 個のスイッチに繋がっており、スイッチ si1 , s i 2 , . . . , s i k i のうち on になって…

Java8で追加されたstreamを用いてint型の配列をIntegerのArrayListに変換する

結論 Integer[] arr_integer = Arrays.stream(a).boxed().toArray(Integer[]::new); List<Integer> list_integer = Arrays.asList(arr_integer); ArrayDeque<Integer> deq = new ArrayDeque<>(list_integer);</integer></integer>

ABC 130 C - Rectangle Cutting

Atcoder Problems のDifficulty の高いC問題埋めをしています。 『長方形を直線で二等分する。 』<=>『 直線が長方形の中心を通る。』を利用する(証明したけど図を乗っけるのがめんどくさいので略)。 WとHを2で割る際にWとHがlong型で有ることを失念して、奇…

ABC 141 E - Who Says a Pun? : Z-Algorithm を Javaで実装する

E - Who Says a Pun?の復習。 解説の中にあるZ-Algorithmを勉強したので記録。 こちらのリンクが大変ためになった。 www.geeksforgeeks.org Z-Algorithmとは Z-Algorithmとは、『Z-Array』を線形時間で構築するアルゴリズムであり、ある文字列に対して、ある…

java競プロ環境をvs codeに移行した

表題の通り。intelliJを使っていたけど、重いのと補完が微妙にうまく行かなかったのでvs codeに移行した。 触ってみた感じ、軽量だしvimプラグインもあるしDebug機能がintellJに匹敵するほど強力で競プロには十分すぎるくらい。 一点、intellJと同じように、…

java使用時に`atcoder-tools test`で発生するエラーに対処した

atcoder-toolsというツールをありがたく使わさせていただいている。 github.com 各問のテストケースに対して、テストを自動で走らせてくれる機能があり、以下のコマンドで実行できる。 atcoder-tools test しかし、java使用時に上記コマンドがうまく行かなか…

Javaの環境設定をした

将来立派な金融Javaおじさんになるために、Javaの環境設定をしました。 Java11 install qiita.com jEnv www.jenv.be qiita.com qiita.com 加えてatcoderの設定もした。 github.com しかし,どうやってもatcoder-tools testコマンドがjavaの場合にうまく動かな…

物体検出のssdモデルを自作データセットでfine tuning

ssd_kerasレポジトリを使って,物体検出をしました. github.com このレポジトリは非常に優秀で,画像,動画だけでなくwebカメラからの入力を取得して,リアルタイムで物体検出してくれるのでとてもよろしい. READMEの You need weights_SSD300.hdf5, weigh…